从参考表sql

时间:2016-12-03 17:08:19

标签: mysql sql reference

我已经搜索了许多其他问题,但无法找到可用的比较。我有一个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的情况下执行此操作?

非常感谢!

1 个答案:

答案 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