我有一张像这里的桌子:
friend : (userid , friendid)
所以,如果user_a
是朋友user_b
,我会将下面的行加载到表格中
user_a , user_b
而且我不插入usar_b , user_a
表中。
那么如何使用 mysql 查询获取 user_b 的好友列表?
我有一张像这里的桌子:
friend : (userid , friendid)
所以,如果user_a
是朋友user_b
,我会将下面的行加载到表格中
user_a , user_b
而且我不插入usar_b , user_a
表中。
那么如何使用 mysql 查询获取 user_b 的好友列表?
假设您想要userA的朋友
您需要获取userA的所有朋友,并将其与朋友为userA的所有用户联合。
假设 userA 的 ID 是1001
查询将是
select UserID from Friends
where FriendID = 1001
Union All
select FriendID from Friends
where UserID = 1001
该条件(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)
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
尝试这个