MySQL запрос о наличии гостиничных номеров - PullRequest
0 голосов
/ 21 сентября 2018

Я делаю последний проект колледжа по системе бронирования отелей.Система позволяет добавлять в систему многие отели соответствующими менеджерами отелей.Основная проблема здесь возникает, когда пользователь хочет найти номер в отеле согласно его / ее требованию, и я не могу найти правильное решение для этого.Ситуация здесь такова, что пользователь может зарезервировать столько номеров, сколько необходимо от отеля, и в результатах поиска может быть много отелей.

Пользователь не будет отображаться в отеле, если номер отеля и требуемый номер пользователя не соответствуют номерам в период регистрации заезда и отъезда.Номер делится на два типа: односпальная и двуспальная кровать.Пользователь может забронировать только один тип кроватей за один раз.

База данных отелей Hotel database

База данных номеров Room Database

База данных бронирования Reservation Database

База данных зарезервированных номеров Reservedrooms Database

Пользователь заполняет следующую форму в качестве предварительного поиска доступности номерапоиск среди отелей.Запросом ценового диапазона можно пренебречь

Запрос MySQL для этого действительно будет оценен.

Форма расширенного поиска Advance Search

У меня естьпопробовал следующий запрос, чтобы получить доступную информацию о номере, но этот запрос дает только вывод первого идентификатора отеля из таблицы отелей, номер которого отсутствует в таблице зарезервированных номеров, а также не проверяет дату заезда и выезда.

sqlDate1 - дата регистрации, отформатированная в формате sql, а sqlDate2 - дата извлечения, отформатированная в формате sql.

SELECT * 
  FROM ROOM 
 WHERE ROOM.ROOMNO NOT IN 
    (SELECT RESERVEDROOMS.ROOMNO 
       FROM RESERVEDROOMS 
       JOIN RESERVATION 
         ON RESERVEDROOMS.RESERVATIONID = RESERVATION.RESERVATIONID 
      WHERE RESERVATION.CHECKINDATE NOT BETWEEN '" + sqlDate1 + "' AND '" + sqlDate2 + "')
...