我想简单的上学/出席,想法是老师应该每天确定学生的出席状态。
我有2张桌子,学生和在场
这是学生桌
这是在场表
现在,我想在我的网站中创建一个界面,该界面按class_name和date_presence显示所有学生。
如果班级和当前日期的所有学生都没有在场状态,则显示所有在场状态的学生“尚未决定”
如果某个班级和当前日期的学生没有在场状态,则它将为已经设置在场状态的学生显示学生在场状态A / I / S,而另一位学生则显示为“尚未决定”
所以这是我的查询
SELECT `a`.`student_id`, `a`.`student_name`, `b`.`presence_id`, `b`.`presence_status`, `b`.`date_presence`
FROM `student` `a`
left JOIN `presence` `b` ON `a`.`student_id` = `b`.`student_id`
WHERE `a`.`class_name` = 'KLJ0009' and `b`.`date_presence` = '2018-07-24'
这是结果
它仅显示3个人,我想要显示的是所有学生,其class_name为KLJ0009,如果该学生没有presentation_status,则仅将presentation_id,presence_status和date_presence显示为null
我该怎么做?
提前致谢。
您需要将以下条件移至ON
查询的一部分:
`b`.`date_presence` = '2018-07-24'
因此,您的查询如下所示:
SELECT `a`.`student_id`, `a`.`student_name`, `b`.`presence_id`, `b`.`presence_status`, `b`.`date_presence`
FROM `student` `a` LEFT JOIN `presence` `b` ON `a`.`student_id` = `b`.`student_id` AND `b`.`date_presence` = '2018-07-24'
WHERE `a`.`class_name` = 'KLJ0009'
注意:如果您想始终查询当前日期,可以使用NOW
或CURDATE
代替2018-07-24
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句