質問: SQLite(+PHP)でSNSを作っています。現状、テーブル定義は以下のようになっています。 フォローの情報を入れている`follow`に、フォロー元のユーザーIDである`from_id`と、フォロー先のユーザーIDである`to_id`が存在しています。また、投稿テーブルとして、`post`があり、投稿ユーザーIDとして`user_id`があります。 このようなテーブルが定義されているときに、フォローしている人だけの投稿を取得し、表示するにはどうすればいいかがわかりません。どうすればいいのでしょうか?
回答: 以下の SQL で取得可能です。 ``` SELECT * FROM post WHERE EXISTS (SELECT 1 FROM follow WHERE follow.to_id = post.user_id AND follow.from_id = 自分のid) ``` コメントにお書きになられている方法だと「フォローしているうちの誰か1人の投稿」となる気がします。