1

我在这里做所有的测试:http ://www.sqlfiddle.com/#!2/85d6d/1

我试过了:

SELECT f1.asked_user_id AS friend_id
FROM friends AS f1 JOIN friends AS f2
    USING (asked_user_id)
WHERE f1.asker_user_id = 3 AND f2.asker_user_id = 3 
    AND f1.status = 1 AND f2.status = 1

但结果并不令人满意,返回的friend_id 并不总是两种方式。

我有:(3,2,1)和(2,3,0)

因此 user_id 3 没有双向好友,因此不应显示任何结果。但是我的查询仍然出现。

我的意思是双向友谊:

(1,2,1) (2,1,1) 其中:asker,asked,status

4

1 回答 1

1
SELECT f1.asked_user_id AS friend_id
FROM friends AS f1 JOIN friends AS f2
    ON f1.asked_user_id = f2.asker_user_id
   AND f1.asker_user_id = f2.asked_user_id
WHERE f1.status = 1 AND f2.status = 1

小提琴

于 2013-11-04T17:56:42.297 回答