クエリを次のように変更して行うことができます:
SELECT POSTS.*
FROM POSTS
LEFT JOIN SUBSCRIBERS
ON POSTS.AUTHORID = SUBSCRIBERS.PROFILEID
WHERE SUBSCRIBERS.SUBSCRIBERID = ? OR POSTS.AUTHORID = ?
GROUP BY POSTS.POSTID ORDER BY POSTS.POSTID DESC LIMIT 10
ユーザー自身の投稿も選択します。これがお役に立てば幸いです。
更新:GROUP BY POSTS.POSTID
を追加 したがって、POSTS
でデータを検索するだけで、重複が削除されます。 テーブル。
値を渡すようにクエリを実行する場合-例: ID 1のユーザーの場合、クエリは次のようになります:
SELECT POSTS.*
FROM POSTS
LEFT JOIN SUBSCRIBERS
ON POSTS.AUTHORID = SUBSCRIBERS.PROFILEID
WHERE SUBSCRIBERS.SUBSCRIBERID = 1 OR POSTS.AUTHORID = 1 GROUP BY POSTS.POSTID
ORDER BY POSTS.POSTID DESC LIMIT 10
結果は:
PostID AuthorID PostDate PostBody
3 1 2012-12-21 Oh Wait
2 3 2012-12-21 Bye Bye World
1 2 2012-12-20 Hello Word
これは、selectクエリに値を適切に渡すときに得られるものです。 SUBSCRIBERID
に渡される値 およびAUTHORID
すべき 同じである。 LEFTJOINで問題が解決します。