MySQL查询酒店房间的可用性

时间:2018-09-21 16:20:47

标签: mysql database relational-database

我正在做有关酒店预订系统的最后一年大学项目。该系统允许由相应的旅馆管理者将许多旅馆添加到系统中。这里出现的主要问题是,当用户要根据他/她的要求搜索酒店房间时,而我却无法为此找到合适的解决方案。这里的情况是用户可以从一家旅馆预订尽可能多的客房,并且搜索结果中可以有许多旅馆列表。

如果在入住和退房日期内酒店的房间和用户要求的房间数不匹配,则不会向用户显示酒店。房间分为单人床和双人床两种。用户一次只能预订一种床。

酒店数据库 Hotel database

房间数据库 Room Database

预订数据库 Reservation Database

预订房间数据库 Reservedrooms Database

用户将填写以下表格,以进行酒店之间的空房搜索。价格范围查询可以忽略

对此的MySQL查询将非常感谢。

高级搜索表格 Advance Search

我已经尝试了以下查询来获取可用的房间信息,但是该查询仅给出了来自酒店表的第一个hotelid的输出,其房间不在“ reservedrooms”表中,并且它也不验证入住和退房日期。

  

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 + "')

0 个答案:

没有答案