1

我有以下 postgreSQL 语句,它返回学校开放和需要出勤的日期

SELECT school_date 
FROM attendance_calendar 
WHERE syear='$syear' 
AND school_date<CURRENT_DATE 
AND calendar_id='$cal_ID'

然后我有另一个表,名为出席_完成,其中有一个名为 school_date 的列,我想从上述语句中查询每个返回的日期。但不是做两个不同的陈述,只是想知道是否有人可以帮助合并陈述?

基本上,我希望上面的语句检查返回的 school_date 是否存在于名为 admission_completed 的表中,并且只返回缺少的日期。

谢谢

4

1 回答 1

0

这应该适合你:

SELECT cal.school_date
FROM attendance_calendar cal
WHERE  cal.school_date NOT IN (
    SELECT com.school_date
    FROM attendance_completed com
    WHERE com.school_date IS NOT NULL
) AND
cal.syear = '$syear' AND
cal.school_date < CURRENT_DATE AND
cal.calendar_id = '$cal_ID;
于 2013-09-08T17:07:54.770 回答