现在的位置: 首页 > 综合 > 正文

SqlServer_Case_When用法

2013年06月05日 ⁄ 综合 ⁄ 共 1119字 ⁄ 字号 评论关闭

SqlServer_Case_When用法

 

http://wenku.baidu.com/view/f9aeaa03bed5b9f3f90f1cb2.html

eg.

select lb1, yuanpianmj,qiegemj,yuanpiansl,qiegesl,qiegemj/yuanpianmj*100 as cql,qiegesl/yuanpiansl as onetox from 
(select lb1,
sum(case when swdm='um' and kw2bh='tp001' and kw1bh='fy00t' then mj else 0 end) as 'yuanpianmj',
sum(case when swdm='um' and kw2bh='' and substring(kw1bh,1,2)='ta' then mj else 0 end) +
sum(case when swdm='tk' and kw2bh='' and kw1bh='typ01' then mj else 0 end) +
sum(case when swdm='um' and kw2bh='' and kw1bh='ap001' then mj else 0 end) as 'qiegemj',
sum(case when swdm='um' and kw2bh='tp001' and kw1bh='fy00t' then sl else 0 end) as 'yuanpiansl',
sum(case when swdm='um' and kw2bh='' and substring(kw1bh,1,2)='ta' then sl else 0 end)+
sum(case when swdm='tk' and kw2bh='' and kw1bh='typ01' then sl else 0 end) +
sum(case when swdm='um' and kw2bh='' and kw1bh='ap001' then sl else 0 end) as 'qiegesl'
from 
(select lb1,ck1bh ,ck2bh,kw1bh ,kw2bh,swdm,--substring(xmbh,3,4) as k,substring(xmbh,7,4) as c, 
cast(substring(xmbh,3,4) as float)*cast(substring(xmbh,7,4) as float)/1000000*sl as mj,sl
from 
(select swdm,lb1,ck1bh,ck2bh,kw1bh,kw2bh,xmbh,sl from insw 
where rq between '2012-7-1 00:00:00' and '2012-7-18 23:59:59' and lb1='071801') as a) as b 
group by lb1) as c

抱歉!评论已关闭.