, -, , , . (, roombooking_room.booking_id = roombooking.id).
-, , , ? , rangeStartDate rangeEndDate.
, , - ? , endDate rangeStartDate rangeEndDate. startDate. rangeStartDate ( rangeEndDate, ) startDate endDate...
, %1$s - rangeStartDate, %2$s - rangeEndDate, where :
WHERE `roomBooking`.`startDate` NOT BETWEEN %1$s AND %2s
AND `roomBooking`.`endDate` NOT BETWEEN %1$s AND %2$$s
AND %1s NOT BETWEEN `roomBooking`.`startDate` AND `roomBooking`.`endDate`
. , , , start_date end_date, end_date start_id
, %1$s rangeStartDate, %2$s - rangeEndDate, where:
WHERE `roomBooking`.`startDate` > %2$s
OR `roomBooking`.`endDate` < %1$s
, :
SELECT `id`
FROM `room`
WHERE `id` NOT IN
(
SELECT `roombooking_room`.`room_id`
FROM `roombooking_room`
JOIN `roombooking` ON `roombooking_room`.`roombooking_id` = `roombooking`.`id`
WHERE `roombooking`.`confirmed` =1
AND (`roomBooking`.`startDate` > %2$s
OR `roomBooking`.`endDate` < %1$s)
)
AND `room`.`maxGuests`>=%d
, ...