工作上的问题_SQL

biaozon 2010-12-24 01:36:03

--测试数据
ALTER TABLE EMRealMonitor ( childId int,MID int ,YYMMDD datetime,CardTime varchar(8) ,empid int ,isExcept bit primary key chidid)

insert into EMRealMonitor

select 1,2,'2010-10-30','15:25:26',1,0
union all
select 3,2,'2010-10-30','15:20:26',1,0
union all
select 4,2,'2010-10-30','15:30:26',1,0
union all
select 5,2,'2010-10-30','15:30:26',2,0
union all
select 6,2,'2010-10-30','15:30:20',2,0
union all
select 7,2,'2010-10-30','15:30:01',2,0
union all
select 8,2,'2010-10-30','15:30:08',2,0
/* mid 卡机号,yymmdd 打卡日期,cardtime 打卡时间,empid 员工ID号,isExcept 是否异常 0 没有异常 ,1有异常。
比较员工两次打卡之间是否存在异常。
我的想法,用员工最后一次打卡时间,和上一次比较(最近一次打卡),如果大于10秒,则异常,isExcpt=1.这样比较下去。

如上面数据中,比较最后结果是:


childid
1,2,'2010-10-30','15:25:26',1,0

3,2,'2010-10-30','15:25:20',1,0

4,2,'2010-10-30','15:30:26',1,1

5,2,'2010-10-30','15:30:26',2,0

6,2,'2010-10-30','15:30:20',2,1

7,2,'2010-10-30','15:30:09',2,0

8,2,'2010-10-30','15:30:08',2,0

因为 childid 为 1,3,4 empid都是1 所以属同一员工,我用该员最次打卡也就是 '15:30:26’ 和上一次打卡‘'15:25:26'作比较大于10 ,所以是异常,把childid=4 那么记录,设为isExcpt=1.
然后,再 childid =1,和childid =2 比较,不大于10,所以没有异常。
(4和1比 大于10 所 4 异常 ,1 各 3 比 小于10 所 1 正常)
...全文
99 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

--更正一下
set mid=1
改成set isExcept=1
  • 打赏
  • 举报
回复


CREATE PROCEDURE test
AS
declare @childid int,@mid int,@yymmdd varchar(20),@cardtime varchar(20),@empid int,@isExcept int,
@v_childid int,@v_mid int,@v_yymmdd varchar(20),@v_cardtime varchar(20),@v_empid int,@v_isExcept int
BEGIN
declare cur_busin cursor for
select *from EMRealMonitor
open cur_busin
fetch next from cur_busin
into @childid,@mid,@yymmdd,@cardtime,@empid,@isExcept
while @@fetch_status=0
begin
if @v_empid=@empid and (@v_yymmdd>@yymmdd or (@v_yymmdd=@yymmdd and datediff(s,cast(@v_cardtime as datetime),cast(@cardtime as datetime))>10))
begin
update EMRealMonitor
set mid=1
where empid=@empid
and id=@v_childid
end

end
END






  • 打赏
  • 举报
回复
我在上班。。。刚才忙活去了 。。
biaozon 2010-12-24
  • 打赏
  • 举报
回复
大家有什么办法不???
biaozon 2010-12-24
  • 打赏
  • 举报
回复
有结果了吗
biaozon 2010-12-24
  • 打赏
  • 举报
回复
好的,麻烦你们了。
biaozon 2010-12-24
  • 打赏
  • 举报
回复
好的,谢谢你
  • 打赏
  • 举报
回复
写个存储过程给你行么。。?执行一下就好了。。。
biaozon 2010-12-24
  • 打赏
  • 举报
回复
请大家帮忙一下。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧