sql 条件判断语句?在线等

llh6795 2010-09-10 05:25:33
select employeeid,convert(varchar(30),dateadd("hh",-3,datetimebrush),111) kqsj,min(datetimebrush) as zhongbs,max(datetimebrush) as zhongbx,'中班' as bcbs,'1' as sbts,
case when datediff(minute,min(datetimebrush),max(datetimebrush))<30 then 1 else 0 end as wscs,
case when datediff(minute,convert(nvarchar(15),'16:30:00.000',114),convert(nvarchar(15),min(datetimebrush),114))>2 and datename(hour,min(datetimebrush))<20 then 1 else 0 end as cdcs,
case when datediff(minute,convert(nvarchar(15),'22:00:00.000',114),convert(nvarchar(30),convert(nvarchar(30),dateadd(hour,-3,max(datetimebrush)),121),114))<-2 and datename(hour,dateadd(hour,-3,max(datetimebrush)) )>17 then 1 else 0 end as ztcs
from lsb201009 t
where convert(varchar(30),dateadd("hh",-3,datetimebrush),108) between '11:30:00' and '23:59:59' and worktypename='倒班' and not exists(select 1 from lsb201009 where employeeid=t.employeeid
and datetimebrush between dateadd(day,1,convert(nvarchar(25),(convert(nvarchar(10),datetimebrush,121)+' 03:01:00.000'),126)) and dateadd(day,1,convert(nvarchar(25),(convert(nvarchar(10),datetimebrush,121)+' 14:29:00.000'),126)) )
group by employeeid,convert(varchar(30),dateadd("hh",-3,datetimebrush),111)
having count(*)>=2

上面红色的那行麻烦大家帮我看看,为什么早退次数(ztcs)统计不出来结果?
...全文
95 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
claro 2010-09-14
  • 打赏
  • 举报
回复
怎么又是这个问题?
ws_hgo 2010-09-14
  • 打赏
  • 举报
回复
好长..........
hao1hao2hao3 2010-09-10
  • 打赏
  • 举报
回复


好恐怖啊!

单独把这句拿出来改造一下然后执行看看数据是不是你想要的。

27,580

社区成员

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

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