我在sql 2008中有一个名为tblEmployeeAttendance的表
以下是员工一天出勤的虚拟数据,如
这里AI指的是AttendanceIn,AO指的是AttendanceOut,BO指的是BreakIn,BI指的是BreakOut。员工每天可以有多行。第一行应该是AI,最后一行应该是AO而其他行应该是BreakIn,BreakOut顺序(意味着BreakIn-BreakOut-BreakIn .....)。
我的预期输出将是这样的
我需要一个sql查询,它将在每个日期返回一行并返回必须在strRemark(AI& AO)上包含AttendanceIn和AttendanceOut Time depands的数据。请帮帮我。
答案 0 :(得分:2)
SELECT
intEmployeeeId,
dteAttendanceDate as 'Attendance Date'
min(dteAttendanceTime) as 'Attendance In'
max(dteAttendanceTime) as 'Attendance Out'
FROM
tblEmployeeAttendance
GROUP BY
intEmployeeeId,
dteAttendanceDate
您可能不需要AI和AO检查,因为时间总是在当天的两端。