2

これは非常に些細なクエリだと思います(SOとGoogleを検索しましたが、何も見つかりませんでした)、SQLは間違いなく私の強みではなく、過去数時間コーヒーの大暴れをしていました...

私は簡単な予約システムに取り組んでいます。

次のような予約テーブルがあります。

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 を投稿できなくて申し訳ありませんが、私の多くの試みはすべて無駄でした (そして恥ずべきことです)。

前もって感謝します。

4

1 に答える 1

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'
于 2012-12-04T03:02:59.597 に答える