【发布时间】:2020-09-08 08:51:38
【问题描述】:
我想返回酒店预订系统中的可用房间。查询应返回比指定日期范围早或晚 3 天的结果。
数据库结构:
房间表(RoomID、RoomType、BedsNo、ViewAvailable...) 预订表(ReservationID、RoomID、CheckinDate、CheckoutDate...)
我正在使用以下查询返回指定日期范围内的可用房间:DateFrom 和 DateTo。但是,如何返回比日期范围 DateFrom 和 DateTo 早或晚 3 天的结果。
select * from room
where room.roomId not in
(select reservation.roomId from reservation where
(reservation.check_in_date <= `FromDate` AND reservation.check_out_date >= `ToDate`)
OR (reservation.check_in_date < `FromDate` AND reservation.check_out_date >= `ToDate`)
OR (`FromDate` <= reservation.check_in_date AND `ToDate` >= reservation.check_out_date))
【问题讨论】:
-
您是否尝试将日期减去/添加 3 天?
标签: mysql