我们试图简单地列出有关用户尚未加入的表中的最新主题。
下面的代码不起作用(显示用户已加入的新线程和线程),但显示我们正在使用的表:
SELECT t.*, jt.*
FROM thread t
INNER JOIN joined_threads jt ON jt.thread_id = t.unique_id
WHERE t.owner != '$user_id'
AND jt.saved_by != '$user_id'
GROUP BY t.unique_id
二手表:
THREAD:
unique_id
owner
title
content
date
和
JOINED_THREADS:
saved_by
thread_id
我认为对大多数人来说这很容易:)
答案 0 :(得分:1)
如果我理解你的需要
SELECT t.*, jt.*
FROM thread t
LEFT JOIN joined_threads jt ON jt.thread_id = t.unique_id AND jt.saved_by = '$user_id'
WHERE t.owner <> '$user_id' AND jt.thread_id is NULL
GROUP BY t.unique_id
(未经测试)。顺便说一句你需要什么jt。*,总是NULL
答案 1 :(得分:1)
SELECT t.*
FROM thread t
WHERE t.owner <> '$user_id'
AND NOT EXISTS
( SELECT *
FROM joined_threads jt
WHERE jt.thread_id = t.unique_id
AND jt.saved_by = '$user_id'
)