where子句

juud5qan  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(346)

所以我希望得到所有的ssc位置,以及还没有被占用的位置的数量。然而,我不知怎的陷入了where子句。
以下是我的表格结构:




这是我的问题 SELECT p.position_id, a.account_id FROM positions p LEFT JOIN ssc s ON s.position_id = p.position_id AND s.removed = 0 LEFT JOIN students stud ON stud.students_id = s.students_id LEFT JOIN accounts a ON a.account_id = stud.account_id WHERE p.user_level_id = 6 AND p.removed = 0 实际结果如下:

预期结果仅显示帐户id中为空的字段。但是如果我包括 AND a.account_id = NULL 在查询中,结果为空。如果我把查询改成: SELECT p.position_id, a.account_id FROM positions p LEFT JOIN ssc s ON s.position_id = p.position_id AND s.removed = 0 LEFT JOIN students stud ON stud.students_id = s.students_id LEFT JOIN accounts a ON a.account_id = stud.account_id AND a.account_id = NULL WHERE p.user_level_id = 6 AND p.removed = 0 然后所有帐户id都变为空

xxhby3vn

xxhby3vn1#

一个也没有 = 这个 NULL 价值观。使用 IS NULL .

a.account_id IS NULL

你可以在这里了解更多,https://dev.mysql.com/doc/refman/8.0/en/working-with-null.html. 您可能更喜欢使用空字符串或默认值 0 .

相关问题