Я получил простой MySQL столик для уже забронированных номеров.Вот структура sql:
CREATE TABLE Rooms (
`ID` int, `Description` varchar(50)
);
INSERT INTO Rooms values
(123, 'Room in Frankfurt'),
(234, 'Room in Wiesbaden'),
(245, 'Room in Darmstadt');
CREATE TABLE Bookings (
`ID` int, `StartTime` datetime, `EndTime` datetime, `post_ID` int
);
INSERT INTO Bookings
(`ID`, `StartTime`, `EndTime`, `post_ID`)
VALUES
(1, '2018-01-05', '2018-04-05', 123),
(2, '2018-08-01', '2018-10-01', 123),
(3, '2019-02-01', '2019-06-01', 123),
(4, '2018-02-01', '2018-06-01', 234),
(5, '2018-08-01', '2018-09-01', 294),
(6, '2018-09-01', '2018-11-30', 234),
(7, '2018-11-01', '2018-12-30', 294)
;
В этой таблице мы можем видеть все бронирования для всех комнат, которые у нас есть.Моя проблема состоит в том, чтобы найти SQL-запрос, чтобы найти свободные слоты для комнаты.Пользователь может указать следующие параметры:
- дата самой ранней регистрации (например: 2018-10-01)
- дата последней регистрации (например:2018-10-15)
- максимальный период в месяцах (пример: 3 месяца)
Таким образом, пользователю нужна комната на 3 месяца, начиная с 01-15.Октябрь 2018 года.
Как я могу это сделать?Я действительно не понимаю.
Спасибо!