我在SQL2008中有一个名为tblEmployeeAttendance的表,如下所示

以下是员工一天出勤率的一些虚拟数据,例如

这里AI指的是AttendanceIn,AO指的是AttendanceOut,BO指的是BreakIn,BI指的是BreakOut.There可以在一天内多行。employee.First行应该是AI,最后一行应该是AO,其他行将依次是BreakIn、BreakOut (这意味着突破-突破-突破.....)。
我的预期输出将如下所示

我需要一个sql查询,这将返回一行,每个日期和返回的数据,必须包含AttendanceIn和AttendanceOut时间依赖于strRemark(AI和AO)。请帮帮我。
发布于 2012-06-27 19:55:31
SELECT
intEmployeeeId,
dteAttendanceDate as 'Attendance Date'
min(dteAttendanceTime) as 'Attendance In'
max(dteAttendanceTime) as 'Attendance Out'
FROM
tblEmployeeAttendance
GROUP BY
intEmployeeeId,
dteAttendanceDate你可能不需要AI和AO检查,因为时间总是在一天中的相反两端。
https://stackoverflow.com/questions/11225491
复制相似问题