2015-10-13 52 views
0

我是一个在SQL Server中使用这种查询begginer,我有一个大表类似于我所显示的,我遇到的麻烦是,我不知道如何分组和和在同一时间,我需要的代码小组和总结与SQL Server

CODE  SIG SUP 
R501004002 BCO 30 
R501004002 BCO 31.27 
R501004008 BCO 34.09 
R501004008 BCO 35.94 
R501004003 MET 42 
R501004020 RIP 42.5 
R501004039 BCO 47.44 
R501004020 RIP 68.56 
每SIG总结了SUP

,我想展示的结果是这样的

CODE  BCO MET RIP 
R501004002 61.27 0  0 
R501004003 0  42 0 
R501004008 70.03 0  0 
R501004020 0  0  111.06 
R501004039 47.44 0  0 

I组代码

+1

你可能是一个动态的数据透视表后。堆栈有几个这样的例子。但是,如果你只有3个sig ...那么你可以使用case语句。所以你有3个以上的sig? – xQbert

回答

0

假设只有3个sig ...

SELECT code 
    , sum(case when sig = 'BCO' then sup else 0 end) as BCO 
    , sum(case when sig = 'MET' then sup else 0 end) as MET 
    , sum(case when sig = 'RIP' then sup else 0 end) as RIP 
FROM tableName 
GROUP BY code 

否则使用动态支点作为所示例here