Я пытаюсь создать простую базу данных для отеля.Это должно заботиться обо всех заказах.Я пытаюсь сделать процедуру, которая будет искать не забронированные номера на указанную дату.Однако на данный момент моя процедура может показать номера комнат, которые уже были забронированы в какой-то момент.Пока забронированы только первые 5 из 20 номеров, а они появляются, а другие нет.
Кто-нибудь может дать мне какие-либо идеи, что не так или даже лучше, как заставить всю процедуру работать?
Это важные таблицы
Это вызов: Результаты должны доходить до "NumerPokoju" = 20, но они останавливаются,потому что их нет в таблице бронирований
Чтобы прояснить вопрос: я хочу, чтобы процедура показала также номера, которые просто не были забронированы, а не только те, которые были хотя бы один раз.
DELIMITER //
CREATE PROCEDURE freeRooms(IN ilosc int, IN poczatek date, IN koniec date)
BEGIN
SELECT Rooms.RoomID AS "Numer pokoju", Rooms.Places AS "Ilosc lozek"
FROM Rooms INNER JOIN Bookings ON Rooms.RoomID = Bookings.RoomID
WHERE ((poczatek < Bookings.ArrDate AND koniec < Bookings.ArrDate) OR ((poczatek > Bookings.DepDate) AND (koniec > Bookings.DepDate)))
AND ilosc <= Rooms.Places;
END //
DELIMITER ;