此代码工作正常找到特定日期内的可用空间,但它不工作表明已经预订和取消如何在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