--测试数据
create table 表(id int,proc1 decimal(20,1),proc2 decimal(20,1),proc3 decimal(20,1))
insert 表 select 12,3.4,6.7,1.1
go
如何得到这样的数据
,数据由多列一行变成了多行一列
NAME
12
3,4
6.7
1.1
答案-------------------------------
DECLARE @SQL VARCHAR(4000)
SET @SQL = 'SELECT NAME '
SELECT @SQL = @SQL + ',SUM(CASE KEMU WHEN '''+KEMU+''' THEN CHENGJI END) '+KEMU
FROM (SELECT DISTINCT KEMU FROM MYTABLE) KEMU
SELECT @SQL = @SQL + ' FROM MYTABLE GROUP BY NAME'
EXEC (@SQL)