用于搜索酒店可用性的SQL查询

时间:2017-07-06 18:28:49

标签: mysql sql

我有以下列的表:

  

酒店(身份证,姓名,地址)

     

房间(身份证,姓名,价格,hotel_id)

     

room_calendar(customer_id,room_id,date)如果特定客户预订了特定房间,我们将为其创建日期记录。

如何根据到达日期和出发日期直接查询数据库以检查酒店的可用性?

非常感谢。

1 个答案:

答案 0 :(得分:1)

在room_calendar表上与你的搜索日期联系。

密切注意:WHERE room_calendar.date IS NULL 如果room_calendar表中没有这个房间的行,那么这一天房间就没有预订。

    SELECT hotel.name
          ,room.name
          ,room.price
      FROM hotel
INNER JOIN room
        ON room.hotel_id = hotel.id
 LEFT JOIN room_calendar
        ON room_calendar.room_id = room.id
       AND room_calendar.date = @yourdate
     WHERE room_calendar.date IS NULL