Вывод свободных номеров

Что нужно дописать чтобы выводилось правильно? Выводит, что номер свободен. В БД на эту дату номер забронирован.

SELECT DISTINCT room.id_room,room.adres,room.price FROM room JOIN reserve ON room.id_room=reserve.id_room 
    WHERE  (datearrive < '2020-08-17' OR dateleave >'2020-08-18')

Выводит, что номер свободен введите сюда описание изображения


Ответы (1 шт):

Автор решения: t0lik

Если нужно вывести запись о номере, который свободен на определенную дату, то так:

SELECT room.id_room,room.adres,room.price FROM room
WHERE NOT EXISTS (SELECT 1 FROM reserve 
    WHERE '2020-08-17' BETWEEN reserve.datearrive AND reserve.dateleave
      AND reserve.id_room=room.id_room)

А ваш запрос означает: выведи мне все номера, которые бронировались в любые дни, кроме заданного.

→ Ссылка