1

我有一张像这里的桌子:

friend : (userid , friendid)

所以,如果user_a是朋友user_b,我会将下面的行加载到表格中

user_a , user_b

而且我不插入usar_b , user_a表中。

那么如何使用 mysql 查询获取 user_b 的好友列表?

4

3 回答 3

5

假设您想要userA的朋友
您需要获取userA的所有朋友,并将其与朋友为userA的所有用户联合。

假设 userA 的 ID 是1001查询将是

select UserID from Friends
where FriendID = 1001
Union All
select FriendID from Friends
where UserID = 1001
于 2012-12-29T12:55:45.570 回答
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)
于 2012-12-29T12:49:04.847 回答
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

尝试这个

于 2012-12-29T12:54:47.640 回答