0
我正在查詢預訂系統,並且需要確定所有預訂時間表(表示經常性預訂),其中指定日期的所有預訂範圍已被取消。爲什麼以下查詢給我的預訂時間表包含在指定日期範圍內預訂已有被取消?SQL - 搜索所有日期範圍的預訂已取消的預訂時間表
SELECT DISTINCT b.BookingScheduleId FROM Booking b
WHERE b.CancellationStatus = 1
AND b.[Date] BETWEEN '01-Nov-14' AND '31-Dec-14'
AND NOT EXISTS (
SELECT * FROM Booking ref
WHERE ref.BookingScheduleId = b.BookingScheduleId
AND ref.[Date] BETWEEN '01-Nov-14' AND '31-Dec-14'
AND b.CancellationStatus = 0
)
AND b.BookingScheduleId IS NOT NULL
謝謝,這樣分解東西更清晰。我認爲問題在於我的最終'AND'是作爲'NOT EXISTS'條件的一部分。 – Izzy 2014-12-08 00:26:38
@izzy。 。 。我對如何格式化查詢以避免這些類型的問題非常謹慎(儘管我認識到並非所有人都贊同我的美學觀點)。 – 2014-12-08 00:31:49