【发布时间】:2016-08-02 20:16:09
【问题描述】:
我正在根据员工工作的时间块进行一些报告。在某些情况下,数据包含两个单独的记录,实际上是一个时间块。
这是一个基本版本的表格和一些示例记录:
EmployeeID
StartTime
EndTime
数据:
EmpID Start End
----------------------------
#1001 10:00 AM 12:00 PM
#1001 4:00 PM 5:30 PM
#1001 5:30 PM 8:00 PM
在示例中,最后两条记录在时间上是连续的。我想写一个查询来组合任何相邻的记录,所以结果集是这样的:
EmpID Start End
----------------------------
#1001 10:00 AM 12:00 PM
#1001 4:00 PM 8:00 PM
理想情况下,它还应该能够处理超过 2 个相邻记录,但这不是必需的。
【问题讨论】:
-
你还有存储日期的列吗?
-
@JeffRosenberg:是的。这些是真实表中的日期时间列。为了提问,这个示例表被大大简化了。
标签: sql sql-server-2008 tsql