0

我有以下表格

followTable带柱子 userid followingid

userTable带柱子 userid 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中排列一个回声

结果将是这样的

username     userid   

john           2

joe            5

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

username      userid     followinguser
john             2           0
joe              5           1

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

谁能指出我如何执行此查询的正确方向。我尝试使用自加入,但无济于事。

4

1 回答 1

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

于 2013-04-18T04:03:01.760 回答