私は次のシステムのtwitterタイプで作業しています。フォロワー表にいるユーザーの名字を取得するために、2つの表、ユーザー、フォロワーを結合しています。私はフォロワーテーブルの内部結合を実行して、フォロワーとフレンドの関係をキャプチャーします。私はフォロワー(あなたに従う)、フォロー(あなたがフォローしている)、および友人(相互フォロー)として結果を表示しています。twitter-style follower/follow/friend sqlクエリ
以下のクエリでは、友だちを見たいユーザーの名前しか表示できません。私は、ユーザーの名前ではなく、ユーザーの友人を見せたいですが、ユーザーテーブルに二重の義務を果たす方法を理解することはできません。つまり、ユーザーの名前と名前を表示してください彼らの友人、または単に友人の名前。
ありがとうございました。
SELECT users.id, users.firstname, users.lastname, followers.follower_user_id, followers.followee_user_id
FROM users
JOIN followers ON followers.follower_user_id = users.id
INNER JOIN followers ff ON followers.followee_user_id = ff.follower_user_id AND followers.follower_user_id = ff.followee_user_id
この方法を使用すると、あなたをフォローするユーザーについての両方の情報を取得することは簡単ですが、フォローするかどうかは、引き分けますか。非常に効率的で、1つのクエリで実行できます。ただ再構築が必要です。 – philwinkle
クイックスタートをご希望の場合は、こちらのペイジーのスキーマをご覧ください:http://pastebin.com/4UPwAYPX – philwinkle
ありがとうございます。あなたが提案したテーブルの設定は、私の現在の設定のようなものです。私はこの新しいクエリを試してみるつもりですが、まもなく回答が返ってきます。 – chowwy