预订房间的搜索查询

时间:2017-07-11 03:25:39

标签: mysql sql search woocommerce-bookings

所以我有这些表

表会议室

room_id | room_name | room_capacity

表格预订

booking_id | room_id | start_date | end_date | booking_status

现在,这只是一个正常的房间预订,除了它有预订状态。

因为我的计划是用户可以在日/夜/ wholeday的3种不同选择上预订度假村,

规则

  • 如果booking_status =" day"这意味着它仍然可用于夜晚
  • 如果booking_status ="晚上",日仍可用
  • 如果预订状态=" wholeday"那天已经不可用

我想要的是让用户想要预订房间," 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)吗?

0 个答案:

没有答案