Mysql sql仅当用户存在双向关系时才选择

Mysql sql仅当用户存在双向关系时才选择,mysql,sql,Mysql,Sql,我在这里做所有的测试: 我试过: 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 但结果并不令人满意,返回的朋友id并不总是双向的 我已经:(3,2,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
但结果并不令人满意,返回的朋友id并不总是双向的

我已经:(3,2,1) 和(2,3,0)

因此,用户_id 3没有双向好友,因此不应显示任何结果。但我的问题还是出现了

我所说的双向友谊是指:

(1,2,1) (2,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


所以您想要所有只有两种方式的朋友的用户?@wxyz否,我想要当前用户的朋友。但朋友的定义是双向的。我不确定这是否合理:Sso您想要所有只有两种方式的朋友的用户?@wxyz否,我想要当前用户的朋友。但朋友的定义是双向的。我不确定这是否有意义:谢谢你。这将返回所有具有双向关系的用户,对吗?我想向当前用户显示好友…只需将当前用户的条件添加到此查询中,如下所示:。。。。还有f1.asker\u user\u id=2,我喜欢“发起人”和“接受者”。。。有一个很好的环。@wxyz嘿,为当前用户选择挂起的请求怎么样?我怎样才能把双重朋友排除在名单之外呢?非常感谢。这将返回所有具有双向关系的用户,对吗?我想向当前用户显示好友…只需将当前用户的条件添加到此查询中,如下所示:。。。。还有f1.asker\u user\u id=2,我喜欢“发起人”和“接受者”。。。有一个很好的环。@wxyz嘿,为当前用户选择挂起的请求怎么样?我如何从列表中排除双重朋友?