0
我正在致力於此在線預訂項目,並且我在此部分中有存貨。這是場景。 數據庫結構:mysql查詢顯示在線酒店預訂的剩餘房間類型
tbl_guestinfo
guest_id
name
checkin
checkout
numAdults
numChild
tbl_rooms
room_id
room_name
guest_id
type_id
tbl_roomtype
type_id
room_rate
room_type
noOf_Rooms
我已經可以從我查詢了良好的結果,其中,我可以掃描所有可用客房和顯示所有我我想要的信息。
SELECT *
FROM tbl_rooms, tbl_roomtype
WHERE guest_id NOT IN
(
SELECT `guest_id` from tbl_guestinfo where
(`checkin` < ' $varCheckOut' and `checkout`>= '$varCheckOut')
OR (`checkin`<= '$varCheckIn' and `checkout`> '$varCheckIn')
OR (`checkin`>= '$varCheckIn' and `checkout`<='$varCheckOut')
)
我需要的是顯示所有可用的剩餘房間類型。例如,如果在2012年1月1日至2012年10月5日期間有5個標準間和5個豪華間以及1個標準間被guest1佔用,並且1個豪華間由guest2同時佔用,那麼該網站將仍然是顯示標準間和豪華間,因爲每個room_type都有4個左側。
請注意,我將把room_type放在html表格中,noOf_Rooms留在組合框中。
請幫助一直在研究和閱讀很多,但仍然無法弄清楚。預先感謝您的幫助。
乾杯
您可以使用BETWEEN,可能會更好。可能的誘惑,http://stackoverflow.com/questions/1080207/mysql-select-all-data-between-two-dates – wesside