从到达和离开日期选择未预订的房间

Posted

技术标签:

【中文标题】从到达和离开日期选择未预订的房间【英文标题】:Select Unbooked Room from Arrival and Departure Date 【发布时间】:2018-09-13 04:23:22 【问题描述】:

我有一张名为 room 的桌子

id  房间 1    1 号房间 2    2 号房间

还有一个名为 order 的表

id    id_room    date_arrival     date_departure 1    1            2018-09-13    2018-09-15 2    1            2018-09-27  ​​  2018-09-29

当我选择 2018-09-14 的 date_arrival 和 2018-09-20 的 date_departure 时,我希望出现一个未预订的房间。

【问题讨论】:

Order 是保留字,作为表/列标识符的选择很糟糕 如需进一步帮助,请参阅meta.***.com/questions/333952/… 【参考方案1】:

试试这个:这是一个重叠范围问题

http://sqlfiddle.com/#!9/9746d6/6

SELECT room.id, rname from
room  left join `roomorder`
on room.id=`roomorder`.id_room
and '2018-09-14' < date_departure AND '2018-09-20' > date_arrival

【讨论】:

它仍然是一个保留字 使用此 INNER JOIN,您将不会在结果中获得房间 2,即未预订的房间。您应该更改为 LEFT JOIN 并编辑您的 WHERE 子句以捕获 NULL 日期行

以上是关于从到达和离开日期选择未预订的房间的主要内容,如果未能解决你的问题,请参考以下文章

预订日历到达和离开日期

选择两个日期之间的可用房间

预订数据库中的可用性

如果一个日期包含 null,则在两个日期之间选择

如何在两个日期之间的时间选择一条记录

php [WooCommerce预订]在前端未使用日历选择器时更改日期格式