PostgreSQL多标准声明

时间:2013-09-08 16:40:12

标签: php sql postgresql

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

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

然后我有另一个名为attendance_completed的表,它有一个名为school_date的列,我想从上面的语句中查询每个返回的日期。但是,而不是做两个不同的陈述,只是想知道是否有人可以帮助组合声明?

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

由于

1 个答案:

答案 0 :(得分: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;