我有以下表結構SQL進行房間可用性
客房表
||| 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嗎? – jarlh
@jayBlanchard我加了 – jlocker