微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-需要查看日期范围是否与sql中的另一个日期范围重叠

我有一个表,用于存储房间的预订,架构为:

ID | ROOM_ID | CHECK_IN_DATE | CHECK_OUT_DATE | USER_ID

我需要对房间在设定的日期范围内可用/不可用的房间进行搜索查询.

还请记住,存在另一个表,该表保存了预定客房时的日期,其格式为:

ROOM_ID | DATE

因此,我需要运行一个查询,以查找设置范围内的可用房间,我将如何制定查询条件?
在这里使用MysqL.

– -编辑 – –

还有一个模式的Rooms表:

ID | ROOM DETAILS etc

“不可用/预定日期”表基本上只包含零星的单个日期,“不可用”表中的每个日期是指由于某种原因无法预订房间的日期,例如:维护等

解决方法:

SELECT
   ROOM_ID
FROM
   Rooms r
   LEFT JOIN Bookings b ON (
      r.ROOM_ID = b.ROOM_ID
      AND b.CHECK_IN_DATE > '$MAX_DATE'
      AND b.CHECK_OUT_DATE < '$MIN_DATE'
   )

我不确定预定房间的因素,因为没有日期范围.预订房间是否还会获得预订条目?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐