2013-04-23 85 views
1

我在MS Access 2007.中查询SQL。我想用datetime查找混合和最大值函数。如何在MS Access 2007中查询sql使用DateTime查找Min&Max?

此代码:

SELECT inf.SSN AS EmpNo, ck.CHECKTIME AS CHKDATE,Min(ck.CHECKTIME) AS TIMEIN, Max(ck.CHECKTIME) AS TIMEOUT 
FROM CHECKINOUT ck INNER JOIN USERINFO inf ON ck.Badgenumber = inf.Badgenumber 
WHERE (((ck.CHECKTIME)>=#20/03/2013#) 
Group By inf.SSN, ck.CHECKTIME 
ORDER BY inf.SSN, ck.CHECKTIME 

结果:

EmpNo |  CHKDATE | TIMEIN    | TIMEOUT 
1290005 | 20/3/2556 7:24:52 | 20/3/2556 7:24:52 | 20/3/2556 7:24:52 
1290005 | 20/3/2556 19:07:54 | 20/3/2556 19:07:54 | 20/3/2556 19:07:54 
1290005 | 21/3/2556 7:14:29 | 21/3/2556 7:14:29 | 21/3/2556 7:14:29 
1320004 | 20/3/2556 7:28:57 | 20/3/2556 7:28:57 | 20/3/2556 7:28:57 
1320004 | 20/3/2556 17:05:23 | 20/3/2556 17:05:23 | 20/3/2556 17:05:23 
1320004 | 21/3/2556 7:15:30 | 21/3/2556 7:15:30 | 21/3/2556 7:15:30 

但我想结果:

EmpNo |  CHKDATE | TIMEIN    | TIMEOUT 
1290005 | 20/3/2556 00:00:00 | 20/3/2556 7:24:52 | 20/3/2556 19:07:54 
1290005 | 21/3/2556 00:00:00 | 21/3/2556 7:14:29 | 21/3/2556 7:14:29 
1320004 | 20/3/2556 00:00:00 | 20/3/2556 7:28:57 | 20/3/2556 17:05:23 
1320004 | 21/3/2556 00:00:00 | 21/3/2556 7:15:30 | 21/3/2556 7:15:30 

如何查询这个水库ULT在Access 2007中。谢谢你的时间。 ;)

回答

0

访问SQL支持DateValue()函数返回一个日期/时间值的日期部分。 (实际上它会在那天给你午夜。)我认为它应该对你想要的有用。

SELECT 
    inf.SSN AS EmpNo, 
    DateValue(ck.CHECKTIME) AS CHKDATE, 
    Min(ck.CHECKTIME) AS TIMEIN, 
    Max(ck.CHECKTIME) AS TIMEOUT 
FROM 
    CHECKINOUT ck 
    INNER JOIN USERINFO inf 
    ON ck.Badgenumber = inf.Badgenumber 
WHERE ck.CHECKTIME>=#2013/03/20# 
GROUP BY inf.SSN, DateValue(ck.CHECKTIME) 
ORDER BY 1, 2; 
+0

感谢提前。是工作。 :d – nettoon493 2013-04-24 02:02:19

0

我想你想通过EMPNO和ChkDate

+0

我尝试通过inf.SSN,ck.CHECKTIME分组,但它不起作用。 – nettoon493 2013-04-23 14:59:16