Всем привет. У меня есть две таблицы:
messages - хранит сообщения.
messages_read - хранит данные о том прочитано ли сообщение пользователем.
Когда я получаю список сообщений из БД и хочу определить было ли прочитано сообщение текущим пользователем, мне приходится выполнять LEFT JOIN и запрос получается таким.
SELECT m.`id`, m.`message`, mr.`readed`
FROM `messages` m
LEFT JOIN `messages_read` mr ON mr.`message_id` = m.`id` AND mr.`user_id` = 111
WHERE m.`chat_id` = 12
Обратите пожалуйста внимание на
AND mr.`user_id` = 111. Мне это условие просто необходимо, потому что нужно знать прочитал ли именно этот пользователь это сообщение.
Но в документации MySql сказано, что нужно избегать условий в конструкции JOIN.
Подскажите, как лучше поступить в этой ситуации?