sql求解:查询连续七天以上都有打卡的员工记录

[复制链接]
查看11 | 回复3 | 2008-8-7 10:30:13 | 显示全部楼层 |阅读模式
最近公司在做EICC认证,连续上班七天是不允许的,所以今天接到人事部的一道题,可把我难倒了,特来此求解:
比如要查出六月份连续七天都有打卡的员工
请问这个存储过程该怎麼写?
有思路也行!
帮忙解决问题后追加100分,绝不食言!

回复

使用道具 举报

千问 | 2008-8-7 10:30:13 | 显示全部楼层
--给你个基本的查询结构和思路说明,你按自己的表结果做一下调整就OK --建立游标的查询忽略了过滤一天内多次打卡,请根据自己表结构进行过滤 declare @c1 varchar(50) declare @time1 varchar(50) declare @工号 varchar(50) declare @time2 varchar(50) declare @i int --连续打卡天数 -- --建立游标,查询按工号和打卡时间排序 DECLARE f_Cursor CURSOR FOR SELECT 员工工号 FROM 打卡表,打卡时间 where (打卡时间 between '时间1' and '时间2') or
回复

使用道具 举报

千问 | 2008-8-7 10:30:13 | 显示全部楼层
可以利用一下ORACLE的ROWNUM机制来做点文章,因为它是自增的我假设有这一张表 WORKID,上班日期(DA)1,200801011,200801021,200801032,200801012,200801033,20080101也可能是乱序的第一步:排序SELECT * FROM WORK ORDER BY
回复

使用道具 举报

千问 | 2008-8-7 10:30:13 | 显示全部楼层
按7天时间段 以及,员工 来group by , 然后count()打卡记录
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行