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

临时表里复杂逻辑的行列转换

2016年10月24日 ⁄ 综合 ⁄ 共 670字 ⁄ 字号 评论关闭
create table #Tmp 
(
    ProcessId     varchar(50),  
    jiedian              varchar(50),   
   节点审批效率      varchar(50)
);
Insert into #Tmp(ProcessId,jiedian,节点审批效率)
select case ProcessId when 6 then 'xxxxx1'
       when 10 then 'xxxxx1'
       when 4 then 'xxxxx1'    when 5 then 'xxxxx1'  when 2 then 'xxxxx1'  when 3 then 'xxxxx1'  when 7 then 'xxxxx1' end as 流程类别,jiedian, --(SUM(shichang)/24),COUNT(id),
 (SUM(shichang)/24)/COUNT(id) as 节点审批效率
from
View_nqfw_list
group by ProcessId ,jiedian
 having ProcessId !='12' and  ProcessId !='11' 
order by ProcessId

select ProcessId ,
 max(case jiedian when'审批' then 节点审批效率 else 0 end) 审批,
 max(case jiedian  when '发起' then 节点审批效率 else 0 end) 发起,
 max(case jiedian when'会签'then 节点审批效率 else 0 end) 会签,
 max(case jiedian when'办公室'then 节点审批效率 else 0 end) 办公室
from #Tmp
group by ProcessId
drop table #Tmp

抱歉!评论已关闭.