首页 > 代码库 > 如何判断一年连续请假七天以上

如何判断一年连续请假七天以上

如何判断一年连续请假七天以上。显示数据
有张请假表A(工号,日期)
例如:1-7 号叫连续请假,如何是1-5号 7-8号请假就不算连续。星期六,星期日不过滤
有特殊假期过滤:例如五一、五二、五三请假不算,
  工号 日期
例如: 10729 2011-2-1
  10729 2011-2-2
  10729 2011-2-3   
  10729 2011-2-4   
  10729 2011-2-5
  20321 2011-2-8

显示 10729
求sql2000代码。谢谢

if object_id(‘[TB]‘) is not null drop table [TB]
go
create table [TB] (工号 int,日期 datetime)
insert into [TB]
select 10729,‘2011-2-1‘ union all
select 10729,‘2011-2-2‘ union all
select 10729,‘2011-2-3‘ union all
select 10729,‘2011-2-4‘ union all
select 10729,‘2011-2-5‘ union all
select 20321,‘2011-2-8‘

select * from [TB]

;with TT
as(
select 工号,日期,datediff(dd,ROW_NUMBER() over (partition by 工号 order by 日期),日期) as nn
from TB ),

T1
as(
select *,ROW_NUMBER () over(partition by 工号,nn order by getdate())  as N from TT )

select 工号  from T1 group by 工号 having COUNT(1) >=5 --如果是要大于7天就修改成 >7

/*10729