我有这个疑问行:mysql如何显示,也不匹配where子句
SELECT `y78f2_students`.`firstname` , `y78f2_students`.`lastName` , `y78f2_students`.`student_id`,`y78f2_attendance`.`is_present`, `y78f2_attendance`.`note`, `y78f2_attendance`.`thedate`
FROM `y78f2_students`
INNER JOIN `y78f2_enrolls` ON `y78f2_enrolls`.`student_id` = `y78f2_students`.`student_id`
INNER JOIN `y78f2_attendance` ON `y78f2_attendance`.`student_id` = `y78f2_students`.`student_id`
WHERE `y78f2_enrolls`.`term` = 'Term 2 2016'
AND `y78f2_enrolls`.`crn_class` = 'Math1R1'
and `y78f2_attendance`.`thedate` = '2016-01-24'
ORDER BY thedate desc
此查询仅返回其中的日期为“2016年1月24日”的行。目前这只是一行:http://i.imgur.com/jRTBqQ0.png
我需要显示所有行,其中term
='Term 2 2016'和crn_class` ='Math1R1'以及日期尚未设置的位置。换句话说,我想向班上的所有学生展示,如果还没有为这些学生设置日期,它将显示为空。 这就是我想要的:http://i.imgur.com/jmsuSF5.png
所以总而言之,我需要显示哪些行符合条款,哪些日期将为空或不存在。 如何编写此查询?
为什么被标记为[tag:sql-server]? –
您可以设置日期的默认值,并通过添加“OR”来检查该值。 – aron9forever