此代碼工作正常找到特定日期內的可用空間,但它不工作表明已經預訂和取消如何在mysql中創建條件(使用'if')?
的「酒店」有4間房間和他們的1房間已經訂滿了取消
所以即使我做了取消,select方法仍然給我3個結果。也許是因爲第二個AND仍在運行。所以基本上我需要的是
- 檢查,如果房間在選定日期
- 如果已經預訂預訂,檢查其取消
- ,如果它已經被取消,或沒有預訂顯示它。否則不
SELECT RoomNo, NightCost
FROM room, room_types, booking
WHERE typeid = fk1_typeid
and double_bed=1
and single_bed=0
AND canceled = '1' in
(SELECT canceled
from booking, room_booking
where bookingid = fk2_bookingid)
AND RoomNo not in
(SELECT fk1_RoomNo
FROM room_booking
WHERE '2010-04-02' between Check_in
and Check_Out or
'2010-04-03' between Check_in
and Check_Out) ;
我試圖儘可能清楚,如果需要的話
太感謝許多!!它的工作原理,我認爲我需要嘗試和解釋更多 – Audel 2010-03-24 19:49:35