我们有一个 SQL 2008 表,它按以下顺序保存出勤数据。
uid 时钟 collectdate 类型 1 2012-10-30 16:13:07.000 2012-10-30 19:29:58.000 在 1 2012-10-30 21:18:50.000 2012-10-30 22:29:58.000 在 2 2012-10-30 16:13:07.000 2012-10-30 19:29:58.000 在 2 2012-10-30 21:18:50.000 2012-10-30 22:29:58.000 在
正确的顺序是将“类型”列设置为 in 和 out。但这正是我面临的问题,因为该系统正在用于管理承包商和兼职人员,他们总是在打卡或打卡之前错过按正确的按钮或根本没有按时钟。
我们目前依靠这个存储过程来将时钟数据按正确的顺序排列
插入到出席TBL(UID,收集日期,打卡,打卡) 选择 用户标识符 ,收集日期 ,MAX(类型 = 'in' 然后时钟结束的情况)时钟 ,MAX(类型 = 'Out' 然后时钟结束的情况)时钟输出 来自 RAWCLOCKTBL 按 UID 分组,收集日期 返回
有什么方法可以将“时钟”值以正确的顺序移动到同一行,同时忽略“类型”列。即,将上表移至。
uid 时钟 1 2012-10-30 16:13:07.000 2012-10-30 21:18:50.000 2 2012-10-30 16:13:07.000 2012-10-30 21:18:50.000