考勤表查询

cnxiaoma 2004-09-08 11:02:13
有一个表存放员工的出勤记录 要查询出所有连续上班超过7天的员工 一句SQL 语句怎么写啊

表如下例
姓名 日期 工时
A 04/01/01 5
A 04/01/02 8
A 04/01/03 6
A 04/01/04 8
A 04/01/05 8
A 04/01/06 0
A 04/01/07 8
................
B 04/01/01 8
...............
B 04/01/31 8
.................
...全文
209 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnxiaoma 2004-09-10
  • 打赏
  • 举报
回复
没有看清楚题目意思的同学请不要回贴
lxd99423 2004-09-10
  • 打赏
  • 举报
回复
一条语句!? Impossible
lxd99423 2004-09-10
  • 打赏
  • 举报
回复
没看清楚代码的同学请不要乱讲

select distinct 姓名 from #t where flag=6
lxd99423 2004-09-09
  • 打赏
  • 举报
回复
不用临时表,有点难!
lxd99423 2004-09-09
  • 打赏
  • 举报
回复
create table 表(
姓名 char(2),
日期 datetime,
工时 int
)
insert 表 select 'A','04/01/01',5
union
select 'A','04/01/02',8
union
select 'A','04/01/03',6
union
select 'A','04/01/04',8
union
select 'A','04/01/05',8
union
select 'A','04/01/06',0
union
select 'A','04/01/07',8
union
select 'B','04/01/01',8
union
select 'B','04/01/03',8

declare @flag int
set @flag=0

--增加flag字段,记录连续上班的天数
select *,@flag as flag into #t from 表 order by 姓名,日期,工时

declare @date datetime,@m int
set @m=0
set @date=dateadd(dd,1,getdate())

--写入连续上班天数
update #t set
@m=flag=case when 日期=dateadd(dd,1,@date) then @m+1 else 0 end,
@date=日期

--查看临时表内容
select * from #t

--查出连续工作大于或等于7天的员工
--select distinct 姓名 from #t where flag=6

drop table 表
drop table #t

--执行结果
/*
姓名 日期 工时 flag
---- ------------------------------------------------------ ----------- -----------
A 2004-01-01 00:00:00.000 5 0
A 2004-01-02 00:00:00.000 8 1
A 2004-01-03 00:00:00.000 6 2
A 2004-01-04 00:00:00.000 8 3
A 2004-01-05 00:00:00.000 8 4
A 2004-01-06 00:00:00.000 0 5
A 2004-01-07 00:00:00.000 8 6
B 2004-01-01 00:00:00.000 8 0
B 2004-01-03 00:00:00.000 8 0

(所影响的行数为 9 行)

*/
cnxiaoma 2004-09-09
  • 打赏
  • 举报
回复
那个帖子太乱了,有没有一个结论?要求是不用临时表,只用一句SQL语句。
yesterday2000 2004-09-08
  • 打赏
  • 举报
回复
参考一下
http://community.csdn.net/Expert/topic/2705/2705464.xml?temp=.4192163

27,582

社区成员

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

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