我已经搜索了许多其他问题,但无法找到可用的比较。我有一个SQL表,其中列出了我们酒店的所有房间。我想知道下一次每个房间将被占用。我正在看两个表,一个包含我们每个房间的名称和详细信息,因为它们都是静态表。另一个表是一个保留表,显示签入和签出时间,并有一个列,用于引用正在使用的房间。
餐厅
unique id name
1 Room 3
2 Room 4
3 Suite 1
4 Suite 2
5 Suite 3
表格预订
unique id start date room id
1 12/4/16 3
2 12/4/16 4
3 12/6/16 3
4 12/12/16 3
5 12/14/16 2
6 12/20/16 2
这将只返回3个值:
2 12/20/16
3 12/4/16
4 12/4/16
如果也有可能我想这样做,如果没有找到保留,则返回null值,所以最终返回值为
Room Next Occurrence
1 null
2 12/20/16
3 12/4/16
4 12/4/16
5 null
有没有办法在没有我当前运行200个SQL查询的php hack的情况下执行此操作?
非常感谢!
答案 0 :(得分:1)
您可以使用左连接
select rooms.id, rooms.name, reservations.`start date`
from Rooms
left join reservations on reservations.`room id` = Rooms.id
order by rooms.id