我正在这里进行所有测试: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) 在哪里:提问者,问,状态
答案 0 :(得分: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