我相信这是一个非常微不足道的问题(我确实搜索了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,但是我的所有尝试都是徒劳的(而且非常糟糕)。
提前致谢。
答案 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'