所以我有这些表
表会议室
room_id | room_name | room_capacity
表格预订
booking_id | room_id | start_date | end_date | booking_status
现在,这只是一个正常的房间预订,除了它有预订状态。
因为我的计划是用户可以在日/夜/ wholeday的3种不同选择上预订度假村,
规则
我想要的是让用户想要预订房间," day"在2017-08-08,我想只显示那个日期和第34天
的房间。这是我到目前为止所做的事情。但它没有显示我想要的结果。
SELECT room_id FROM room Left join booking ON room.room_id = booking.room_id
WHERE booking.booking_status = "night" AND booking.start_date = "2017-08-08"
OR (booking.start_date <> = "2017-08-08"
OR booking.room_id <> any (SELECT booking.room_id
FROM booking
WHERE booking.start_date = "2017-08-08"
AND booking.booking_status = "wholeday"))
在我的查询中,我使用了WHERE booking.booking_status = "night"
,因为用户想要搜索&#34; day&#34; (参见规则)。我知道这有点令人困惑。那么,你们可以帮我写一下查询来获取可用的空间,具体取决于start_date,end_date和time(day / night / wholeday)吗?