2017-06-01 50 views
1

我有一个包含Container/Room ID的表。每行都有一个用于容器/房间的ID和一个开始和结束日期时间。我需要计算具有多行的容器的结束日期和下一行的开始日期之间的时间。SQL Azure计算结束以两天内客房的天数开始

示例数据: enter image description here

所需的输出将与DIFF在天结束之间,以将下一行的开始的第三列 - 当房间数具有多行。如果只有一行,所需的输出将为0.

我看着SQL Server: difference in days for two dates in separate rows但这只使用一个日期列,而且我正在努力弄清楚如何计算跨行时的差异一个房间。

+0

前进请贴预期的结果和实际restult文本 – TheGameiswar

+1

会做,我们对此深感抱歉。 –

回答

1

只需使用datediff()lag()

select t.*, 
     datediff(day, enddt, 
       lead(startdt) over (partition by room order by startdt) 
       ) as diff 
from t; 
+0

非常感谢您向我展示!!!!! –