sql >> Databasteknik >  >> RDS >> Mysql

SQL får max-id-fält på en LEFT JOIN

Försök

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

som hittar max(id) för varje användare i tblimages, använder det sedan för att ansluta varje användare till det senaste fotot för den användaren.




  1. Lägger till främmande nyckel till en rälsmodell

  2. Användaraktivitet (ala facebook) DB tillvägagångssätt. Big JOIN eller flera enkla frågor?

  3. Skapa utlösare för att infoga i en annan tabell

  4. Kontrollera om parametern är NULL inom WHERE-satsen