Bạn cần một bàn khác có đặt chỗ
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
Sau đó, khi bạn thêm đặt phòng mới cho mỗi phòng, bạn cần đảm bảo rằng truy vấn sau dẫn đến zero 0
hoặc nếu không thì phòng đã được đặt trước.
//Count Scheduling Conflicts
select count(roomid) from bookings where
bookings.checkOutDate > YouNewBookingCheckInDate and
bookings.checkInDate < YouNewBookingCheckOutDate
Vì vậy, nếu yêu cầu đặt phòng mới của bạn cho Phòng 1 là vào 4/5/2011 1:00PM
, bản ghi # 1 sẽ được tính và truy vấn sẽ dẫn đến 1 (chỉ ra 1 xung đột)