Вам действительно нужна таблица ROOMS
, чтобы сделать эту базу данных удаленно удобной для работы - также с RPOM_NUMBER (который, как я предполагаю, определяет одну комнату).
Если у вас есть такая таблица, тогда этозапрос даст RPOM_NUMBERS бесплатно сейчас
SELECT RPOM_NUMBER FROM ROOMS WHERE RPOM_NUMBER NOT IN
(SELECT DISTINCT RPOM_NUMBER FROM RESERVATIONS WHERE
DATE_ARRIVAL < NOW() AND DATE_DEPARTED > NOW())
И это вставит строку в БРОНИРОВАНИЕ
INSERT INTO RESERVATIONS (RPOM_NUMBER,DATE_ARRIVAL,DATE_DEPARTED) VALUES
(x, y, z)
(где x
, y
и z
- RPOM_NUMBER
, DATE_ARRIVAL
И DATE_DEPARTED
соответственно)
Это не учитывает конкретное время .Вам нужно будет подумать о том, когда вы хотите, чтобы комната была бесплатной. Если это 1 минута с момента отправления, это бесплатно?Или это очищается?
Это также предполагает, что при бронировании будет указана дата прибытия и отъезда. Как вы справляетесь с гостями, находящимися в открытом пребывании?
Этот SQL не тестировался и не уверен, будет ли он работать в MySQL - но он будет чем-то очень похожим.