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 2015-02-06 21:51:21
這是一個論壇腳本。 'messages'表包含像message_id,topic_id,message_content等列。而'seen_log_ex'表包含列member_id,topic_id和date_seen(用戶上次訪問該主題的日期)。我試圖選擇所有未被用戶訪問過的主題或在郵件post_date之前訪問過的郵件。 – Wellenbrecher 2015-02-06 21:55:29