【发布时间】:2023-03-23 09:20:01
【问题描述】:
我有以下表结构
房间桌子
||| room_id ||| name |||
||| 1 ||| best |||
||| 2 ||| best |||
||| 3 ||| best |||
||| 4 ||| best |||
预订表
||| room_id ||| date_start ||| date_end |||
||| 1 ||| 2015-01-10 ||| 2015-01-15 |||
||| 2 ||| 2015-01-10 ||| 2015-01-18 |||
||| 3 ||| 2015-01-05 ||| 2015-01-10 |||
||| 4 ||| 2015-01-02 ||| 2015-01-05 |||
我想要说的是,如果用户搜索 date_start = 2015-01-10 和 date_end = 2015-01-14
我想显示那些日子的可用房间。
这是我迄今为止尝试过的
SELECT r.*
FROM rooms r
WHERE r.room_id NOT IN (
SELECT b.room_id FROM bookings b
WHERE (b.date_start <= '$data[datestart]' AND b.date_end >= '$data[dateend]'))
谢谢!
【问题讨论】:
-
你能分享你的尝试吗?
-
MySQL 是否支持 OVERLAPS?
-
@jayBlanchard 我添加了