房間avabiles我正在一個酒店預訂模塊,幾天後我堆棧。SQL統計間隔
Tables
+++++++++++++++++++++++++++++++
rooms bookings
======== =============
room_id b_id
avabile_rooms b_room_id
check_in
check_out
b_rooms
== ==哪裏 avabile_rooms - 客房數量avabile b_rooms =客房與此B_ID數預訂
Values needed
++++++++++++++++++++++++++++++++
room_id and number_of_rooms_avabile foreach avabile room in interval A(check_in) - B(check_out)
Current Query
++++++++++++++++++++++++++++++++
SELECT r.* FROM rooms AS r WHERE r.room_id NOT IN
(
SELECT b.b_room_id FROM bookings AS b
WHERE (b.check_out >= ? AND b.check_in <= ?)
OR (b.check_out <= ? AND b.check_in >= ?)
)
現在我得到的avabile房間沒有考慮到avabile_rooms/b_rooms
The Unkown Query (I thik It needs to be something like this)
++++++++++++++++++++++++++++++++
SELECT r.* FROM rooms AS r WHERE r.room_id IS IN
(
SELECT b.b_room_id FROM bookings AS b
OR b.b_id IS NULL
OR (b.check_out >= ? AND b.check_in <= ?)
OR (b.check_out <= ? AND b.check_in >= ?)
)
我沒有想出如何讓ROOM_ID/number_of_rooms_avabile P.S .:我進行了深入的搜索,但沒有找到考慮到房間數量的解決方案。 謝謝。
我有表的房間設計一個問題。它有兩列 - ROOM_ID,這很合理,然後第二列是AVAILABLE_ROOMS。它的用途是什麼?只要RROM_ID表示一個房間而不多於一個房間,那麼在該表中沒有其他列的意義,特別是存儲「可用房間的數目」。我在這裏錯過了什麼嗎? – Incognito
您是否只需要今天的可用空間(固定日期)或日期範圍? – Milen
@MilenPavlov:對於將被選擇的日期範圍 – user2186504