クエリするテーブルが 3 つあります。他の 2 つに応じて、最初の 1 つを選択します。最初のテーブルとは異なる ID のみが必要ですが、クエリがいくつかの重複を返しています... http://sqlfiddle.com/#!2/3e3d6/1
私のクエリ:
SELECT p.*
FROM posts p, blogs_subscribed s
WHERE (p.user_id = s.user_id OR p.user_id = 1)
AND p.id NOT IN (
SELECT post_id
FROM posts_unsubscribed u
WHERE u.post_id = p.id
AND u.user_id = p.user_id);
SELECT p.*
FROM posts p, blogs_subscribed s
WHERE (p.user_id = s.user_id OR p.user_id = 1)
AND NOT EXISTS(
SELECT null
FROM posts_unsubscribed u
WHERE u.post_id = p.id
AND u.user_id = p.user_id);
何かアイデアはありますか?