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