不可解なクエリ結果または不足...
2 番目のテーブルに既に存在する可能性のあるレコードをセットから除外して、レコード セットを返そうとしています。
SELECT trID
FROM ttTrct
WHERE (trID NOT IN
(SELECT rteVehID
FROM rtHist
WHERE (rteSchedDT = '11/19/2012 12:00:00 AM')))
ORDER BY tractorID
実際のwhere句は...
WHERE (rteSchedDT = CAST(@targetDate AS DATETIME))
ただし、問題を回避するために静的な日付値も試しています。
rtHist に 3 つのレコードが存在する
rteVehID rteSchedDT
NULL 11/12/2012 12:00:00 AM
NULL 11/19/2012 12:00:00 AM
1645 11/19/2012 12:00:00 AM
ttTrct に 5 つのレコードが存在する
trID
1234
4567
9874
1645
2442
結果セットには 1645 ではなく 4 つのレコードが含まれると予想していますが、NULL しか取得できません。また、rtHist テーブルの 3 番目のレコードも 1645 ではなく NULL だった場合、結果も得られません。もちろん、静的な日付は最終的に変数になります。
私が欠けているものについてのアイデアはありますか? 前もって感謝します。SSEE 2008 R2