日期:2014-05-19  浏览次数:20550 次

查询问题???请教
id     姓名   部门   考勤日期   上班时间   下班时间   迟到   早退   旷工   休假   考勤年份   考勤月份
1     李刚   财务部   2007-3-7   08:10         17:30         否       否       否       否       2007         3
2     张三   财务部   2007-3-7   08:40         17:30         是       否       否       否       2007         3
3     王五   财务部   2007-3-7   08:10         16:30         否       是       否       否       2007         3
4     AAA     销售部   2007-3-7   08:10         17:30         否       否       否       否       2007         3
5     BBB     销售部   2007-3-7   08:40         17:30         是       否       否       否       2007         3
6     CCC     销售部   2007-3-7   08:10         16:30         否       是       否       否       2007         3
7     AAA     销售部   2007-3-8   08:10         17:30         是       否       否       否       2007         3
8     BBB     销售部   2007-3-8   08:40         17:30         是       否       否       否       2007         3
9     CCC     销售部   2007-3-8   08:10         16:30         否       是       否       否       2007         3

如何根据部门和年月查询出这样的结果

序号   姓名   迟到次数     早退次数     旷工次数     休假次数    
1       AAA           1                   0                     0                   0
2       BBB           ...
3       CCC           ...

------解决方案--------------------
try:

select
姓名,
sum(case 迟到 when '是 ' then 1 else 0 end ) as 迟到次数,
sum(case 早退 when '是 ' then 1 else 0 end ) as 早退次数,
sum(case 旷工 when '是 ' then 1 else 0 end ) as 旷工次数,
sum(case 休假 when '是 ' then 1 else 0 end ) as 休假次数
from

where
部门= 'xxxx '
and
考勤年份=xx
and
考勤月份=xx
group by
姓名