我有一个包含用户Id和他的朋友Id的表,比如:
----------------------------------------------
UserFriendsId | UserId | FriendId
----------------------------------------------
1 1 2
----------------------------------------------
2 1 3
----------------------------------------------
3 2 1
----------------------------------------------
4 2 3
----------------------------------------------
此表数据显示,User-1和User-2是朋友,它们也与User-3有联系。
现在我想在UserId 1和UserId 2中找到共同的朋友,例如:
在句子中我的疑问是:用户1和用户2有一个共同的朋友FriendId 3。
为此,我对内部连接使用了SQL查询:
SELECT t1.*
FROM userfriends t1
INNER JOIN userfriends t2
ON t1.FriendId = t2.FriendId
WHERE t1.UserId = 2
但不返回所需结果。。
最佳答案
select *
from MyTable as A
inner join MyTable as B
on (A.UserID = 1 and B.UserID = 2)
and (A.FriendID = B.FriendID)
编辑