5

私が持っているいくつかのMYSQLに少し問題があります。

ホリデールームで一定期間がすでに予約されているかどうかを確認できる必要があります。

私のデータベースは DATETIME フィールドを使用しており、次のように設定されています。

私の担当者が少ないため、データベースの画像リンク

次のようなクエリがあります。

SELECT * FROM `caravanavail1` 
WHERE (`checkIn` BETWEEN '2014-01-07 14:00:00' AND '2014-01-08 10:00:00') 
OR (`checkOut` BETWEEN '2014-01-07 14:00:00' AND '2014-01-08 10:00:00')

私は常に 2 つの日付を渡しますが、日付がさまざまな点で衝突する場合があります。

  1. チェックインはおそらく別の休日の最中であり、チェックアウトはそうでない可能性があります。
  2. checkOut は別の休日の途中である可能性があり、checkIn はそうでない可能性があります。
  3. それらは、別の休日と同じ日付である可能性があります。
  4. 私が提供するチェックインとチェックアウトの日付は、両方とも別の予約に含まれている可能性があります。

私はこれで数日間頭を悩ませてきました.誰かが上記のSQLコードを修正して(2つではなく1つのクエリを好むでしょう)、必要なものを返すのを手伝ってくれますか?

4

3 に答える 3