查询以获取在一个时间范围内开始或结束的所有预订?

时间:2012-12-04 03:01:06

标签: mysql sql

我相信这是一个非常微不足道的问题(我确实搜索了SO和谷歌但却什么都没有),SQL并不是我的强项,而且我过去几个小时一直在喝咖啡... < / p>

我正在开发一个简单的预订系统。

我有一张保留表,如下图所示:

id | room_id | checkin_date  | checkout_date |
---+---------+---------------+---------------+
1  |    12   | 2012-10-12    |  2013-01-14   |
2  |    9    | 2012-12-08    |  2013-01-10   | 
3  |    4    | 2012-12-19    |  2012-12-26   | 
4  |    6    | 2012-11-12    |  2012-12-30   |  
5  |    3    | 2012-12-11    |  2012-01-11   |

如何在特定时间间隔内获得 结束或开始 的所有预订(然后数据将用于填充可用性日历)。

很抱歉没有发布我自己的Sql,但是我的所有尝试都是徒劳的(而且非常糟糕)。

提前致谢。

1 个答案:

答案 0 :(得分:1)

select * from reservations 
where checkin_date between ? and ?
or checkout_date between ? and ?

您需要在占位符中提供开始日期和结束日期,例如

select * from reservations 
where checkin_date between '2012-01-01' and '2012-01-66'
or checkout_date between '2012-01-01' and '2012-01-66'