:
:
select ur1.user_id user1,
ur2.user_id user2,
ur2.friend_id mutual_friend
from user_relationships ur1
JOIN user_relationships ur2 ON ur1.friend_id = ur2.friend_id
where ur1.user_id != ur2.user_id
は、名前を取得するには、ユーザーテーブルに参加します
select ur1.user_id user_id1,
u1.name User1,
ur2.user_id user2,
u2.name User2,
ur2.friend_id mutual_friend_id,
u3.name mutual_friend
from user_relationships ur1
JOIN user_relationships ur2 ON ur1.friend_id = ur2.friend_id
JOIN user u1 ON u1.user_id = ur1.user_id
JOIN user u2 ON u1.user_id = ur2.user_id
JOIN user u3 ON ur1.user_id = u3.user_id
where ur1.user_id != ur2.user_id
ur1.user_id = first_user
とを使用して、特定のユーザーの友人をフィルタリングできます
をあなたが唯一の名前や '1を取得したいです| 1 | 3 |サミー? – Shef
ユーザー名を持つすべてのユーザーのすべての相互の友人をリストしていますか?または他のユーザーの相互火事であり、名前を気にしない人をリストしますか?またはあなたはすでにuser1とuser2を持っていて、お友達の名前を共有したいのですか? – regilero