我搜索了许多其他问题,但找不到可用的比较。我有一个 SQL 表,其中包含我们酒店所有房间的列表。我想知道下一次每个房间将被占用的时间。我正在查看两张表,一张包含我们拥有的每个房间的名称和详细信息,就所有意图而言,它是一张静态表。另一个表是预订表,显示入住和退房时间,并有一列引用正在使用的房间。
table 间
unique id name
1 Room 3
2 Room 4
3 Suite 1
4 Suite 2
5 Suite 3
餐 table 预订
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
如果可能的话,我希望在未找到预订时返回空值,因此最终返回值为
Room Next Occurrence
1 null
2 12/20/16
3 12/4/16
4 12/4/16
5 null
如果没有我当前运行 200 个 sql 查询的 php hack,有没有办法做到这一点?
非常感谢!
最佳答案
你可以使用左连接
select rooms.id, rooms.name, reservations.`start date`
from Rooms
left join reservations on reservations.`room id` = Rooms.id
order by rooms.id
关于mysql - 从引用表 sql 中查找下一个事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40950306/