у меня 3 стола,
jos_messages => 'message_id (PK)', 'message', 'from_user_id', 'touser id'
jos_message_thread => 'thread_id PK', 'message_id FK', 'from_user_id', 'to_user_id'
jos_users => 'user_id (FK)', 'firstname', 'avatar'
Мне нужно сделать запрос с этими таблицами, чтобы вернуть данные в одном результате, данные:
последнее вставленное сообщение (jos_messages), имя и аватар отправителя сообщения (jos_users)
результат должен быть примерно таким:
сообщение: «Привет, это последнее добавленное сообщение»
Имя: "ledif"
Аватар: "http://a.com/a.png"
Теперь у меня есть этот запрос, но проблема в том, что возвращаемое сообщение не является последним вставленным сообщением.
SELECT jmt.from_user_id, jm.message, ju.firstname, ju.avatar
FROM jos_messages_thread AS jmt
LEFT JOIN jos_messages AS jm ON jm.message_id = jmt.message_id
LEFT JOIN jos_comprofiler AS ju ON ju.user_id = jmt.from_user_id
WHERE jmt.to_user_id ='$user_id'
AND jmt.thread_owner ='$user_id'
GROUP BY jmt.from_user_id
Есть ли способ ЗАКАЗАТЬ jm.message_id в середине левого запроса соединения? чтобы сделать что-то вроде:
LEFT JOIN jos_messages AS jm ON jm.message_id = (LAST INSERTED) jmt.message_id
Спасибо !! Кстати, я плохо знаю английский, извините, если мой вопрос не так ясен.