mysql - 从引用表 sql 中查找下一个事件

标签 mysql sql reference

我搜索了许多其他问题,但找不到可用的比较。我有一个 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/

相关文章:

javascript - 如果元素存在则条件渲染

PHP SQL 意外的 T_STRING 错误

c# - 从 Visual Studio 将 Excel 单元格设置为 Textbox.text,引用错误 C#

java - JPA - PersistenceUtil.isLoaded - 它加载到哪个EntityManager中?

sql - 使用 SqlDataReader 从 SQL Server 数据库读取数据时出错

perl - 在 Perl 中引用另一个模块中的函数

perl - 我如何优雅地从 Perl 中的数组引用创建散列?

mysql - 而是在 Laravel 中插入新记录,而不是更新数据透视表中的数据

mysql - 根据另一个表中的条件更新表中的多行

sql - 如何在 Postgresql 中将字段转换为 JSON