日期:2014-05-17 浏览次数:20615 次
--CREATE TABLE huang (公司 VARCHAR(10), 项目 VARCHAR(10), 金额 INT )
--INSERT INTO huang
--SELECT 'a' , '房费', 100
--UNION ALL SELECT 'a' , '房费', 100
--UNION ALL SELECT 'a' , '车费', 100
--UNION ALL SELECT 'b' , '车费', 100
--UNION ALL SELECT 'b' , '车费', 100
--UNION ALL SELECT 'b' , '门费', 500
DECLARE @s NVARCHAR(4000)
SET @s = ''
SELECT @s = @s + ',' + QUOTENAME([项目]) + '=max(case when [项目]='
+ QUOTENAME(项目, '''') + ' then [金额] else 0 end)'
FROM huang
GROUP BY [项目]
EXEC('select [公司]'+@s+' from huang group by [公司]')
/*
公司 车费 房费 门费
---------- ----------- ----------- -----------
a 100 100 0
b 100 0 500
(2 行受影响)
*/
--CREATE TABLE huang (公司 VARCHAR(10), 项目 VARCHAR(10), 金额 INT )
--INSERT INTO huang
--SELECT 'a' , '房费', 100
--UNION ALL SELECT 'a' , '房费', 100
--UNION ALL SELECT 'a' , '车费', 100
--UNION ALL SELECT 'b' , '车费', 100
--UNION ALL SELECT 'b' , '车费', 100
--UNION ALL SELECT 'b' , '门费', 500
DECLARE @s NVARCHAR(4000)
SET @s = ''
SELECT @s = @s + ',' + QUOTENAME([项目]) + '=max(case when [项目]='
+ QUOTENAME(项目, '''') + ' then [金额] else 0 end)'
FROM&nb