Office中国论坛/Access中国论坛

标题: 使用SQL语句 查询考勤表最早和最晚时间 [打印本页]

作者: 宏魔法师    时间: 2011-10-26 16:25
标题: 使用SQL语句 查询考勤表最早和最晚时间
有一张考勤表
         Time                Code
1-18-2011 13:52        E182
1-18-2011 14:07        E182
1-18-2011 16:54        E182
1-16-2011 11:28        E199
1-16-2011 12:36        E199
1-16-2011 12:38        E199
1-16-2011 13:44        E199
1-16-2011 13:59        E199
1-16-2011 17:21        E199

希望通过 SQL语句 达成下面的表
  日期                  最早        最晚        工号
2011-1-18        13:52        16:54        E182
2011-1-16        11:28        17:21        E199


作者: aslxt    时间: 2011-10-26 16:51
SELECT DISTINCT Format([TIME],"YYYY-MM-DD") AS 日期, Format(DMin("time","考勤表","Format([TIME],'YYYY-MM-DD')='" & [日期] & "' AND CODE='" & [CODE] & "'"),'hh:nn') AS 最早, Format(DMax("time","考勤表","Format([TIME],'YYYY-MM-DD')='" & [日期] & "' AND CODE='" & [CODE] & "'"),'hh:nn') AS 最晚, 考勤表.CODE AS 工号
FROM 考勤表
ORDER BY 考勤表.CODE
作者: andymark    时间: 2011-10-26 22:03
  1. SELECT format(Time,"yyyy-mm-dd") AS 日期, Code AS 工号, min(format(Time,"hh:mm")) AS 最早, Max(format(Time,"hh:mm")) AS 最晚
  2. FROM 考勤表
  3. GROUP BY format(Time,"yyyy-mm-dd"), Code
复制代码

作者: 宏魔法师    时间: 2011-10-27 08:57
感谢 aslxt 和 andymark ,你们的SQL功力真是强大。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3