在vb.net中筛选打卡迟到记录

来源:百度知道 编辑:UC知道 时间:2024/06/08 01:53:25
有Access数据库表worker,字段有ID(员工编号,主键),time(刷卡时间,一天上班记录一次,下班记录一次,数据类型为字符型,格式01:00:00),date(刷卡日期,数据类型为字符型,格式08:12:31),现在VB.NET中用SQL语句筛选出08-10-17这天上午8点以后刷卡(即迟到)人员名单.
用语句:
SELECT *
FROM worker
WHERE cdate(time)>cdate('08:00:00') and (cdate(time) in(Select min(cdate(time)) from worker Where cdate(date)=cdate('08-10-17') Group By id ));

结果记录中总有08-10-17以外日期的记录.不知毛病在啥地方,希望能有那位高人给指点迷津!谢谢了!

你没有加日期限制,改成这样就好了
SELECT *
FROM worker
WHERE cdate(time)>cdate('08:00:00') and cdate(date)=cdate('08-10-17') and (cdate(time) in(Select min(cdate(time)) from worker Where cdate(date)=cdate('08-10-17') Group By id ));