我正在尝试运行mysql选择查询,我想在该查询中获取当月未支付费用的学生。请检查我的情况(如果我一一使用),但它们同时无法使用
"SELECT A.studentid,A.stu_first_name,A.stu_last_name,
A.stu_reg_no,A.phone,
B.submit_on,
C.class_name FROM students as A
LEFT JOIN student_fee as B on A.studentid = B.student_id
inner join class as C on
A.class_id=C.classid
WHERE MONTH(B.submit_on) = MONTH(NOW())
AND B.student_id IS NULL"
答案 0 :(得分:1)
您需要将B.submit_on
的条件从WHERE
子句移到表LEFT JOIN
上的B
。否则,B
子句会过滤掉WHERE
中不匹配的记录,我相信这与您想要的相反(这实际上将LEFT JOIN
变成了{{ 1}})。
INNER JOIN