我坚持查询我想要跟踪他跟随的人跟踪者记录,因为following_label可能是1或0 所以我为追随者做了很好的工作,
SELECT firstname,lastname,type,image,username
FROM relations
LEFT JOIN users ON relations.subscriber=users.id
WHERE relations.leader=9
LIMIT 12
关系表结构是id,订阅者(关注者)和领导者(父母)
但是现在我想检查他所关注的同一记录,即检查是否 订户=领导者。
所以我尝试了这个但不幸的是它似乎没有用。
SELECT firstname,lastname,type,image,username,subscriber as sub
FROM relations
LEFT JOIN users ON relations.subscriber=users.id
WHERE relations.leader=9 limit 12 AND
SELECT CASE
WHEN subsriber = 9
THEN 1
ELSE 0
END as Salable, *
FROM relations
我希望得到这样的东西 soundcloud.com/userid3218377271/followers如果你先检查三个 盒子他们是我的追随者,如果你鼠标在他们身上你甚至看到我 我跟随其中三个,最后一个不遵循 其中存在“后退”按钮
答案 0 :(得分:0)
要获取用户关注的对象以及关注同一用户的用户,正确的命令为UNION
或UNION ALL
。
SELECT firstname,lastname,type,image,username,subscriber as sub
FROM relations
LEFT JOIN users ON relations.subscriber=users.id
WHERE relations.leader=9 limit 12
UNION ALL
SELECT firstname,lastname,type,image,username,subscriber as sub
FROM relations
LEFT JOIN users ON relations.subscriber=users.id
WHERE relations.subscriber=9 limit 12
与UNION
或UNION ALL
合并的查询需要具有相同的字段列表,或者至少需要相同的字段数和相同位置的字段的相同类型。
要了解谁在关注用户,并且如果用户正在追踪LEFT JOIN
应该做的话
SELECT firstname, lastname, type, image, username
, s.subscriber as sub
, ISNULL(fb.leader) followback
FROM relations s
INNER JOIN users ON relations.subscriber = users.id
LEFT JOIN relations fb ON user.id = fb.leader AND fb.subscriber = 9
WHERE s.leader=9 limit 12
如果followback
为1,则用户不会跟回订阅者。
您可以更改followback
的公式用户我使用了一个简单的用户,只是为了做一个例子。