Как говорится в заголовке, я пытаюсь получить все доступные гостиничные номера, когда пользователь указывает дату заезда и выезда. Я добился некоторого прогресса, но я изо всех сил пытаюсь понять логику этого процесса.
Вот что у меня есть:
SELECT r.FLOOR, r.ROOM
FROM BOOKING b, ROOMS r
WHERE TO_DATE('2015-03-28', 'YYYY-MM-DD')
BETWEEN TO_DATE(b.CHECKIN, 'YY-MM-DD') AND TO_DATE(b.CHECKOUT, 'YY-MM-DD')
AND r.ROOMID = b.ROOMID;
Это просто возвращает обратно все занятые номера на указанную дату. (2015-03-28)
Как я могу изменить этот код, чтобы он принимал две даты, регистрировался и выписывался, а также предоставлял свободные номера вместо занятых.
Любая помощь высоко ценится!