SQL考勤统计语句,求助

[复制链接]
查看11 | 回复3 | 2009-6-18 16:42:07 | 显示全部楼层 |阅读模式
select name,
sum(case when intime between '8:00' and '8:29' then 1 else 0 end ) as '迟到',
sum(case when intime between '8:30' and '9:00' then 1 else 0 end ) as '缺勤'
from table1
group by name因为“8:30”是一个公用时间点,不能判别式迟到还是缺勤,所以迟到我换成“8:29”了...
回复

使用道具 举报

千问 | 2009-6-18 16:42:07 | 显示全部楼层
SELECT D1.NAME,D1.迟到,d2.缺勤FROM (SELECT name, COUNT(*) as 迟到
FROM table1
where intime between '8:00' and '8:30' group by name ) D1 FULL OUTER JOIN
(...
回复

使用道具 举报

千问 | 2009-6-18 16:42:07 | 显示全部楼层
select name,
decode(sign(trunc(intime) - trunc('8:30')), 1, decode(sign(trunc(intime) - trunc('9:00')), 1, '缺勤', '迟到'), '正常') from table1 group by name说一下可能会遇到的问题:就...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行