SELECT * FROM messages as t1
LEFT JOIN
(
SELECT topic_id date_seen FROM seen_log_ex WHERE member_id = :uid
) as t2
ON t1.topic_id=t2.topic_id AND t2.date_seen < t1.post_date
Я хочу выбрать строку из сообщений, если таблица t2 не содержит ее topic_id.LEFT JOIN условия выбора
Я хочу, чтобы выбрать строку из сообщений, если таблица t2 содержит свой topic_id и t2.date_seen < t2.post_date
Я НЕ хочу, чтобы выбрать строку из сообщений, если таблица t2 содержит свой topic_id и t2.date_seen >= t2.post_date
Мой запрос дает неправильные результаты. Как я могу это исправить?
Вы можете добавить данные для лучшего понимания? – Jens
Это скрипт форума. Таблица «messages» содержит столбцы, такие как message_id, topic_id, message_content и т. д. И таблица «seen_log_ex» содержит столбцы member_id, topic_id и date_seen (дата последнего посещения пользователем этой темы). Я пытаюсь выбрать все сообщения, тема которых не посещается пользователем или не была посещена до сообщения post_date. – Wellenbrecher