2つの日付フィールド(開始日と終了日)を使用して、テーブルからデータを選択しようとしています。where句の両方の日付フィールドで結果が返されない場合、startdateフィールドが削除されると結果が返されますが、何が起こっているのでしょうか。誰もがこのジレンマを手伝うことができますか
私のコードは次のとおりです。
SELECT WPP.USERID,
WPI.EMAIL,
WPI.FIRSTNAME,
WPI.LASTNAME,
WPI.INSTITUTION
FROM WEBPROGRAMPARTICIPANTS WPP
JOIN WEBPERSONALINFO WPI ON WPP.USERID = WPI.USERID
JOIN WEBPROGRAMS WP ON WPP.PROGRAMCODE = WP.PROGRAMCODE
WHERE CONFIRMED = 1
AND WP.PROGRAMTYPE IN ('1')
AND WP.PROGRAMSTARTDATE >= '2009-01-02'
AND WP.PROGRAMENDDATE < '2009-09-15'
GROUP BY WPP.USERID,
WPI.EMAIL,
WPI.FIRSTNAME,
WPI.LASTNAME,
WPI.INSTITUTION
HAVING COUNT(WPP.PROGRAMCODE) > 1
ORDER BY WPP.USERID,
WPI.EMAIL
編集:
これが見るべき結果セットです
USERID PROGRAMSTARTDATE PROGRAMENDDATE
------ ----------------------- -----------------------
26167 2009-03-09 00:00:00.000 2009-06-12 00:00:00.000
26362 2009-03-09 00:00:00.000 2009-06-12 00:00:00.000
26411 2009-03-09 00:00:00.000 2009-06-12 00:00:00.000
26491 2009-03-09 00:00:00.000 2009-06-12 00:00:00.000