[英]Auto-generated row on Microsoft SQL Server
我目前正在研究基于指纹的学生出勤系统。 我正在使用Arduino Uno和指纹传感器来获取学生出勤记录并将其存储在SQL Server中。 我的数据库中有一个名为Attendance
的表,用于存储学生出勤记录,但我对此有问题。
比方说,A同学今天缺席 ,考勤记录将不被存储在表Attendance
了学生答:意思就是我只能告诉学生今天谁是目前学校,为学生A考勤记录不能被显示给教师。
教师只能在选择日期后查看学生出勤记录,老师无法查看学生A出勤记录,因为表Attendance
表中没有学生A的记录
那么我该如何解决呢? 有什么建议或参考吗? 感谢您的帮助。 谢谢
SELECT *
FROM STUDENT
LEFT JOIN ATTENDANCEMARK
ON STUDENT.ID = ATTENDANCEMARK.STUDENTID
WHERE ATTENDANCEMARK.DATE = @DATE OR ATTENDANCEMARK.DATE IS NULL
说明:您希望列出所有有今天出勤分数的学生,但是想要列出所有没有出勤分数的学生。
假设您要传递日期作为参数,则可以将left outer join
到出勤表,然后将日期检查放在on
子句中(与where
子句相对。将它放在where
子句中实际上是left outer join
由于解析和执行查询的顺序, left outer join
变成inner join
联接。
select *
from [student] s
left outer join [attendance] a
on s.[id] = a.[id]
and a.[attendanceRecordDate] = @date
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.