Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SQL erhält maximales ID-Feld bei einem LEFT JOIN

Versuchen Sie es

SELECT messages.*, T2.photo
FROM messages
LEFT JOIN (SELECT userid, MAX(id) AS maxid
           FROM tblimages
           GROUP BY userid) AS T1
ON messages.user_id = T1.userid
LEFT JOIN tblimages AS T2
ON T2.id = T1.maxid
ORDER BY messages.msg_id DESC

die max(id) für jeden Benutzer in tblimages findet und diese dann verwendet, um jeden Benutzer mit dem neuesten Foto für diesen Benutzer zu verbinden.