首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

查询有关问题?请问

2012-01-02 
查询问题???请教id姓名部门考勤日期上班时间下班时间迟到早退旷工休假考勤年份考勤月份1李刚财务部2007-3-

查询问题???请教
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
姓名

热点排行