我在SQL Select中遇到问题,例如我们有两个用户X和Y,用户X希望看到用户Y以下是这样,当看到他的下面时, 用户Y想知道用户X(以下)中的用户是谁 在此图片中:https://i.imgsafe.org/d2b2d83886.png用户ID为64,想要查看users.id = 50以下
SELECT users.id,users.username,
CASE WHEN follows.user_id = 68 THEN 1 END AS is_Follow
FROM users
LEFT JOIN follows
ON follows.follower_id = users.id
WHERE follows.app = 1 AND follows.user_id = 50
但这会让我回报NULL :(我该怎么办?!
答案 0 :(得分:2)
right
的{{1}}表上的条件应该在LEFT JOIN
子句上,而不在ON
子句上:
WHERE
另一件事,你究竟在检查什么?有多少人关注SELECT users.id,users.username,
CASE WHEN follows.user_id = 68 THEN 1 ELSE -1 END AS is_Follow --Minus one value means NO.
FROM users
LEFT JOIN follows
ON follows.follower_id = users.id AND
follows.app = 1 AND
?因为列的名称听起来并不像它。
编辑:试试这个:
user_id=68