------按條件分類匯總sql指令碼例子
select 上層業務,部門名稱,姓名,
sum(case when NumType='4' then 1 else 0 end ) 新裝 ,
sum(case when NumType='7' then 1 else 0 end ) 續約,
sum(case when NumType='82' then 1 else 0 end ) e8--(含單獨辦理e8)
from viewall --攬裝視圖,其實質內容為number與部門資訊的映射
where statTime>='20070101'
and statTime<='20071031'
group by 上層業務,部門名稱,姓名 --按欄位(或欄位組合)分類匯總
order by 上層業務,部門名稱,姓名 --按順序排序,如果按倒序排序 在欄位後加 desc
---效果等同於下面的語句組合,下面的語句組合也是常用的
------begin---------------------------------
select 上層業務,部門名稱,姓名,
sum(case when NumType='4' then 1 else 0 end ) 新裝
into #t1
from viewall
where statTime>='20070101'
and statTime<='20071031'
group by 上層業務,部門名稱,姓名
order by 上層業務,部門名稱,姓名
select 上層業務,部門名稱,姓名,
sum(case when NumType='7' then 1 else 0 end ) 續約
into #t2
from viewall
where statTime>='20070101'
and statTime<='20071031'
group by 上層業務,部門名稱,姓名
order by 上層業務,部門名稱,姓名
select 上層業務,部門名稱,姓名,
sum(case when NumType='82' then 1 else 0 end ) e8
into #t3
from viewall
where statTime>='20070101'
and statTime<='20071031'
group by 上層業務,部門名稱,姓名
order by 上層業務,部門名稱,姓名
select 上層業務,部門名稱,姓名 into #t4 from #t1
union select 上層業務,部門名稱,姓名 from #t2
union select 上層業務,部門名稱,姓名 from #t3
select a.*,b.新裝 into #t5 from #t4 a left join #t1 b on a.姓名=b.姓名 and a.部門名稱=b.部門名稱
select a.*,b.續約 into #t6 from #t5 a left join #t2 b on a.姓名=b.姓名 and a.部門名稱=b.部門名稱
select a.*,b.e8 into #t7 from #t6 a left join #t3 b on a.姓名=b.姓名 and a.部門名稱=b.部門名稱
select * from #t7
-------end----------------------------------