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
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 に答える
0

この条件(t1.id<t2.id)では、1つのペアのみを含め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 に答える