我有一个资源预订数据库(在 postgres 9.3 上运行)。此数据库包含一个表reservations,其中包含除其他值之外的预订的开始和停止时间(as timestamp with time zone
)
现在,我需要根据所有这些预订的总小时数来了解某家公司目前在未来有多少预订处于活动状态。
我汇总了以下可以完成这项工作的查询:
SELECT EXTRACT(EPOCH FROM Sum(stop-start))/3600 AS total
FROM (reservations JOIN partners ON partner = email)
WHERE stop > now() AND company = 'givencompany'
如果给定的公司对未来有保留,这将非常有效。我遇到的问题是,当公司没有任何保留时,查询实际上返回一行但列total
是空的,而我希望它根本不返回任何行(或者0
如果没有什么太复杂,则包含一行)那个案子。
这是否可以通过SELECT
对数据库进行不同或其他修改来完成,或者消费应用程序是否null
每次都必须检查?
对不起,如果我的问题是微不足道的,但我对数据库完全陌生
编辑
我发现我可以0
通过 using默认返回值,COALESCE
但如果不返回任何行,我会更喜欢它