0

重複の可能性:
2 つの日付範囲が重複しているかどうかを判断する

予約テーブルに予約があるかどうかに基づいて、1 つのテーブル内のすべての車を選択するクエリを作成しようとしています。現時点では、日付から 1 日を引いた日付と 2 日付と 1 日の日付を予約するまで、これはうまく機能します。equals を使用しているため、その日付範囲内で予約された車が表示されます。

2013 年 1 月 22 日の開始日と 2013 年 1 月 25 日の終了日を持つ車が予約テーブルにあり、ユーザーが 2013 年 1 月 20 日の開始日を入力した場合、これを変更するにはどうすればよいでしょうか。それぞれ 1 月 27 日と 2013 年 1 月 27 日、車は結果に表示されません。

SELECT   *
FROM vehicles, car_model, manufacture
WHERE NOT EXISTS (SELECT *
                  FROM booking
                  WHERE vehicles.reg_number = booking.reg_number
                  AND booking.date_from = '22-JAN-13'
                  AND booking.date_to = '23-JAN-13'
                  AND booking.booking_status = 1)
AND vehicles.model_code = car_model.model_code
AND car_model.manufacture_code = manufacture.manufacture_code;

ありがとう。

4

1 に答える 1

0

BETWEEN演算子を使用-SELECT ... WHERE ... BETWEEN start_date AND end_date...

于 2013-01-22T13:22:00.070 に答える