我花了超过 14 个小时试图找到一种方法来实现这一点,但没有运气!
我正在开发一个预订系统,我有 2 张桌子:
Rooms
---------
ID - ROOM_TYPE - NAME - ROOM_COUNT
1 1 single room 6
2 2 double room 4
3 3 studio 2
Booking
---------
ID - ROOM_TYPE - Customer_NAME - CHECK_IN - CHECK_OUT
1 3 John A 1-1-2013 4-1-2013
2 3 John B 2-1-2013 5-1-2013
3 2 John C 8-1-2013 9-1-2013
在用户输入 2 个日期来搜索可用房间后,我进行查询以显示我拥有的所有类型房间,我有 3 种类型(单人/双人/工作室),每种类型都有酒店可用的房间数量(例如:酒店默认有6间单人房)
我最终得到这个查询以获取所有可用的类型房间
SELECT *
FROM rooms
where id NOT IN
( SELECT room_type FROM booking
WHERE "'.$check_in.'" <= check_out
AND "'.$check_out.'" >= check_in
)
我需要制定另一个条件,即预订中的 WHERE count(room_type) 少于 ROOMS 表中 ROOM_COUNT 字段中保存的值..
取决于上面的表格结构,酒店只有两个工作室,并且在 2013 年 4 月 1 日都不可用 .. 因此,当有人在该日期搜索时,查询不应该显示工作室类型房间 ..
我需要计算每种房型的预订数量,然后显示结果..
先感谢您