嗨,我有两张桌子PAS_User
,PAS_Follow
见下图,
我正在努力的是对 MySQL 的查询,其中用户只能看到其他用户的列表,其中他们之间的关系 id 是互惠的。
对于互惠(互惠)PAS_Follow
表必须记录,所以假设我们有一个用户和 id of1
和一个用户2
的表 id 将包含两行数据,第 1 行是:
flow_follower_user_id = 1 && flow_followed_user_id = 2
第 2 行是
flow_follower_user_id = 2 && flow_followed_user_id = 1
我有这个查询,但它似乎显示没有关注源用户的用户。
SELECT DISTINCT PAS_Follow.folw_followed_user_id AS user_user_id, PAS_User.user_first_name, PAS_User.user_last_name, PAS_User.user_avatar_url, PAS_User.user_sector, PAS_User.user_job_type, PAS_User.user_pass_token FROM PAS_User RIGHT OUTER JOIN PAS_Follow ON PAS_User.user_user_id = PAS_Follow.folw_followed_user_id WHERE `folw_followed_user_id` =**:id** OR `folw_follower_user_id` =**:id** AND `folw_deleted` = 0 ORDER BY PAS_Follow.folw_followed_user_id ASC
在**:id**
此示例中 = 1。
这是针对直接消息平台的,因此当用户启动用户列表时,他们只能看到具有互惠关系的用户,这一点很重要。
任何帮助将不胜感激,我希望对问题的解释足够完整。
****从下面回答****
希望这对其他人有帮助
SELECT foll_second.folw_follower_user_id AS user_user_id, user.user_first_name, user.user_last_name, user.user_avatar_url, user.user_job_type FROM PAS_Follow foll_first, PAS_Follow foll_second, PAS_User user WHERE foll_first.folw_follower_user_id = foll_second.folw_followed_user_id AND foll_second.folw_follower_user_id = foll_first.folw_followed_user_id AND foll_first.folw_follower_user_id =:id AND foll_second.folw_follower_user_id = USER .user_user_id