予約のある別のテーブルが必要です
ID roomId checkInDate checkOutDate
1 1 4/6/2011 12:00PM 4/9/2011 11:00AM
2 2 4/2/2011 12:00PM 4/3/2011 11:00AM
3 1 4/9/2011 12:00PM 4/11/2011 11:00AM
次に、各部屋に新しい予約を追加するときに、次のクエリの結果がzero 0
であることを確認する必要があります。 、または部屋はすでに予約されています。
//Count Scheduling Conflicts
select count(roomid) from bookings where
bookings.checkOutDate > YouNewBookingCheckInDate and
bookings.checkInDate < YouNewBookingCheckOutDate
したがって、ルーム1の新しい予約リクエストが4/5/2011 1:00PM
にある場合 、レコード#1がカウントされ、クエリの結果は1(1つの競合を示す)になります