我无法使用第二组日期时间作为更多“掩码”来总结重叠日期时间的日期差异(以分钟为单位)。
我有的
我的表可能看起来像这样:
ID StartDateTime EndDateTime Type
1 9-16-2013 12:00:00 9-16-2013 16:00:00 A
2 9-16-2013 12:00:00 9-16-2013 13:00:00 A
3 9-16-2013 14:00:00 9-16-2013 15:00:00 A
4 9-16-2013 12:00:00 9-16-2013 13:00:00 C
5 9-16-2013 14:00:00 9-16-2013 17:00:00 C
视觉时间线如下所示:
12 13 14 15 16 17
A |-------------------------------| (ID 1)
A |-------| |-------| (IDs 2 and 3)
C |-------| |-----------------------|
我需要的
我需要做的是仅当类型 B 时才对 A 类型求和。所以我要生成的集合和求和是(包含的 ID 以供参考):
ID StartDateTime EndDateTime
1 9-16-2013 12:00:00 9-16-2013 13:00:00
1 9-16-2013 14:00:00 9-16-2013 16:00:00
2 9-16-2013 12:00:00 9-16-2013 13:00:00
3 9-16-2013 14:00:00 9-16-2013 15:00:00
新的“蒙面”时间线如下所示:
12 13 14 15 16 17
A |-------| |---------------| (ID 1)
A |-------| |-------| (ID 2 and 3)
我遇到的问题是将第一个 ID 分成 2 个不同的记录,因为 C 类型的中断。我查看了这个站点上的很多重叠帖子,但似乎没有一个解决这个特殊需求。任何帮助将不胜感激。如果您需要更多信息,或者我可以以任何方式更清楚,请告诉我。我正在使用 SQL Server 2008 R2。