İki tablonun, ileti dizisinin ve iletinin var, Yapmak istediklerim, ileti dizisinden iletilere iç birleştirme yapmaktır. İşte Bir iç birleştirme ve maksimum kimlikle en yüksek ids'ı alın
benim sorgu: Şimdi her şey olması gerektiği gibi çalışırSELECT
messages.msg,
messages.`read`,
conversations.userid,
conversations.contactid
FROM conversations
INNER JOIN messages ON
conversations.id = messages.convId
WHERE conversations.id IN(443,444)
ama son şey iç birleşim i ı en yüksek almak istiyorum
conversations.id = messages.convId
kullandığınız yere olmasıdır kimlikleri yalnızca, gibi:
AND MAX(messages.id)
Ama bu çalışmıyor
DÜZENLEME: kullanmayı bir kez denedim :
LEFT JOIN messages
ON conversations.id = messages.convId
AND messages.id = MAX(messages.id)
Ama belirten bir hata var: grup işlevinin geçersiz kullanımı.
:
Ayrıca daha standart bir yaklaşım kullanarak bunu yapabilirsiniz conversations.id ASC TARAFINDAN SİPARİŞ, DESC – Nanocom
messages.id o ben bana yalnızca bir satır verecek – Kilise
Hayır başına bir satır gibi Hayır, birden çok satır verecektir. Ama benim hatam, ORDER BY conversations.id ASC, messages.id DESC GROUP BY sohbetler.id – Nanocom