0
我在編寫查詢時會遇到問題,該查詢會告訴我給定的汽車是否在指定的日期內被預訂。我的表格被稱爲Bookings
,並且有CarID
,StartDate
和EndDate
列。如果汽車在用戶輸入的時間段內預訂,我想返回一排。目前,我有這個疑問,這是我從網上找來一些修修補補:檢查與Access的日期範圍衝突
SELECT *
FROM Bookings
WHERE BookingID NOT IN
(SELECT BookingID
FROM Bookings
WHERE
(StartDate <= user_start_date AND EndDate >= user_start_date) OR
(StartDate <= user_end_date AND EndDate >= user_end_date) OR
(StartDate >= user_start_date AND EndDate <= user_end_date)) AND
(CarID = 7)
在這裏,我使用user_start_date
作爲用戶我的開始日期和user_end_date
從用戶的結束日期,以及汽車的7
。然而,這個邏輯似乎並不奏效。即使我確認日期中絕對沒有衝突,它總是返回行。
我該如何修改這個查詢,使其工作?
感謝