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'
   )

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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...