菜鸟求帮助

昨天 2012-04-19 01:39:54
如何判断一年连续请假七天以上。显示数据
有张请假表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代码。谢谢
...全文
108 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
王思明 2012-04-26
  • 打赏
  • 举报
回复



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]


select 工号 from
(
select *,ROW_NUMBER () over(partition by 工号,nn order by getdate()) as N from
(
select 工号,日期,datediff(dd,ROW_NUMBER() over (partition by 工号 order by 日期),日期) as nn
from TB
)
bb )
main
group by 工号 having COUNT(1) >=5

11,849

社区成员

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

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