我有2张桌子。 1st包含所有具有ID,fname和姓氏的学生的列表。第二名有他们的身份证,日期和出勤率。
我可以使用哪个查询来比较第二个表到第一个表的日期和ID,以查看在该特定日期缺席的所有学生的列表。
我想过使用外连接但不确定它是如何工作的。有什么建议吗?
答案 0 :(得分:0)
SELECT *
FROM students
LEFT JOIN attendances ON students.id=attendances.student_id
WHERE attendances.attendance = true AND attendances.date='neededDate';
我认为你的两张桌子是学生和考勤,考勤表有student_id作为外键,考勤场是布尔值。希望它适合你。
答案 1 :(得分:0)
以下查询已使用以下假设编写 如果学生不在场,则列出勤包含NULL值,如果他/她在场,则列出其他值
SELECT
a.id,
concat(a.fname||' '||a.lname) As Full_Name,
b.date,
case when b.attendance is Null 'Absent' else 'Present' End as Attendance_Status
FROM students a
LEFT JOIN attendances b ON students.id=b.student_id
b.date='&RequiedDate';
所需日期将被视为用户的输入参数