[pgsql-jp: 25977] 時間帯検索の重複チェック

Hiroshi Ishiura issy777 @ entrance-e.com
2002年 5月 16日 (木) 16:20:55 JST


石浦です。

施設予約スケジュールのようなもの作っており、
施設予約時間の重複チェックでいいSQL文が思いつきません。

例えばreserveテーブルに以下のデータが入っていた場合
date	   |start_time|end_time
-----------------------
2002-05-16 | 10:00:00  |13:00:00

そしてフォームより次の入力がされた場合
2002-05-16 | 10:30:00  |12:00:00	A
2002-05-16 | 13:00:00  |15:00:00	B
2002-05-16 | 12:00:00  |14:00:00	C
2002-05-16 | 09:30:00  |11:00:00	D

現状
select * from reserve where date='$s_date' and start_time <= '$datetime'
and end_time >='$datetime'

これだとAの場合、重複であるとみなされるのですが、
CやDのように開始時間はあいていたり、終了時間が空いていたりする場合も重複
エラー処理をしたいのですが、スマートなSQL文の書き方はないでしょうか。

どうかご教授ください。




pgsql-jp メーリングリストの案内