【发布时间】:2014-10-08 18:08:10
【问题描述】:
寻找一种方法将连续的时钟记录分组到一行中。
源系统有一个身份列、员工 ID、日期和进/出标志(1=in & 2=out)。请注意,
ID EmployeeID DATE InOut
1019374 5890 2008-08-19 14:07:14 1
1019495 5890 2008-08-19 18:17:08 2
1019504 5890 2008-08-19 18:50:40 1
1019601 5890 2008-08-19 22:06:18 2
我正在寻找可以给我以下结果的 sql
EmployeeID ClockIn BreakStart BreakEnd ClockOut
5890 2008-08-19 14:07:14 2008-08-19 18:17:08 2008-08-19 18:50:40 2008-08-19 22:06:18
请注意,由于时钟编辑,源系统中的 ID 并不总是连续的。日期应按时间顺序排列。如果只存在两个打卡,我将需要在没有休息的情况下填充打卡和打卡日期(或者我可以使用案例语句提取的一致内容)。下面没有中断示例:
EmployeeID ClockIn BreakStart BreakEnd ClockOut
5890 2008-08-19 14:07:14 2008-08-19 22:06:18
Sql版本是2008 R2
在此先感谢,我不知道如何使其始终如一地工作,非常感谢您的帮助。
【问题讨论】:
-
如果时钟输入和输出多于 2 个怎么办?
-
好点,我需要某种错误/手动审查标志。
标签: sql sql-server date time