我有一张像这样的表:
friend : (userid , friendid)
所以,如果user_a
是user_b
的朋友,我会将下面的行加载到表格中
user_a , user_b
和我不将usar_b , user_a
插入表格。
那么如何通过mysql查询获取user_b的朋友列表?
答案 0 :(得分:4)
让我们说你想要用户的朋友 你需要得到userA的所有朋友,与朋友是userA的所有用户联合。
假设userA的ID为1001
,则查询将为
select UserID from Friends
where FriendID = 1001
Union All
select FriendID from Friends
where UserID = 1001
答案 1 :(得分:0)
条件(t1.id<t2.id)
允许我们仅包含一对a,b
并排除b,a
select t1.userid user1, t2.userid user2
FROM friends t1
JOIN friends t2 ON (t1.friend=t2.id) and (t1.id<t2.id)
答案 2 :(得分:0)
select a.user,a.friend from
friend a,friend b
where a.user=b.user and
a.friend=b.friend and a.user<>b.friend
and a.friend<>b.user
试试这个