Mysql查询遵循跟随系统

时间:2013-04-18 03:36:28

标签: mysql join

我有以下表格

followTableuserid followingid

userTableuserid username

现在找出谁跟着我,假设我是用户1 我运行查询

SELECT userTable.username,  userTable.userid FROM userTable INNER JOIN followTable ON followTable.userid = userTable.userid   WHERE followTable.followingid = '1' order by followTable.datefollowed Desc

所以我能够将它放入并在php中排列一个echo

结果将是这样的

username     userid   

john           2

joe            5

现在我想知道我是否通过使用相同的查询关注用户,以便输出表就像这样

username      userid     followinguser
john             2           0
joe              5           1

其中0表示我没有关注用户,1表示我关注用户。

任何人都可以指出我如何执行此查询的正确方向。我尝试使用自联接但无济于事。

1 个答案:

答案 0 :(得分:1)

 SELECT t1.userid,t1.username ,COALESCE(t2.followornot, 0) as followornot 
 from user t1 left join 
  (SELECT f.userid as fid,1 as followornot
  FROM follow f where f.followingid='youruseridhere' ) t2 on t1.userid=t2.fid 

http://sqlfiddle.com/#!2/d45002/21