所以我希望得到所有的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都变为空
1条答案
按热度按时间xxhby3vn1#
一个也没有
=
这个NULL
价值观。使用IS NULL
.你可以在这里了解更多,https://dev.mysql.com/doc/refman/8.0/en/working-with-null.html. 您可能更喜欢使用空字符串或默认值
0
.