使用MySql检查可用空间

时间:2013-12-16 17:31:06

标签: php mysql

大家。我的在线酒店预订任务有问题,我的问题很难检查可用房间。所以我有很多表:

tbRoom(RoomID,RoomName,...)
tbReservation(ResID,ResDate,....)
tbReservationDetail(ResID,RoomID,ArrvialDate,DepartureDate,....)

我想在两个日期之间获得房间。

所以,我该怎么做?还是我需要创建更多表格?

请帮帮我,谢谢你的帮助....

2 个答案:

答案 0 :(得分:1)

您可以选择预订的房间并反转:

SELECT * FROM tbRoom WHERE RoomID NOT IN (SELECT RoomID FROM tbReservationDetail WHERE ArrvialDate < yourDate AND DepartureDate > yourDate)

答案 1 :(得分:0)

您可以使用指定的上述3个表格来获得结果。但只有你必须改变的是,你必须使用RoomID表中提交的tbReservation

rbRoom - &gt;存放不同的房间
tbReservation - &gt;当预订房间时,此表将保留RoomID和预订ID tbReservationDetail - &gt;存储有关arrivalDate,DepartureDate等的其他详细信息。

然后按照以下查询

   SELECT * FROM tbRoom WHERE RoomID NOT IN (SELECT RoomID FROM tbReservation     
   tr,tbReservationDetail td WHERE td.ArrvialDate < yourDate AND 
    td.DepartureDate > yourDate  and tr.RoomID=td.RoomID)