У меня есть 3 таблицы:
os_users (имя пользователя, user_id), os_friends (user_id, target_id, lastaction, time), os_messages (user_id, target_id, message, time).
Iтеперь хочу получить всех «друзей» пользователя, включая последнее 1 сообщение, которое было написано между ними.
Этот запрос работает нормально, чтобы получить всех друзей и их имена пользователей, упорядоченные по методу между ними (24 для тестовых целей, это мой user_id):
SELECT os_friends.*, os_users.username, os_users.user_id AS friend_id
FROM os_friends
LEFT JOIN os_users ON os_friends.user_id = os_users.user_id OR os_friends.target_id = os_users.user_id
WHERE os_users.user_id != 24 AND (os_friends.user_id = 24 OR os_friends.target_id = 24)
ORDER BY os_friends.lastaction DESC
Я хотел бы получить последнее сообщение (неважно, кто из 2 человек отправил его) об этой "дружбе" тоже в результатахЛучше всего будет "КАК последнее сообщение".
Надеюсь, вы поможете мне!