我有下表:

如何将上表转换成下面的结构?我试着用枢轴表,但没能让它工作。

发布于 2013-08-28 09:43:55
您需要查找SQL枢轴。
检查这把小提琴
守则如下:
SELECT *
FROM
(
SELECT Prodname,
pcode,
Biiledamt
FROM Product
) p
PIVOT
(
SUM (Biiledamt)
FOR Prodname IN ([Prod1],[Prod2],[Prod3],[Prod4])
) AS pvt如果事先不知道列,则可以使用检查一下这把小提琴动态生成要使用的列。
这方面的代码是:
DECLARE @cols AS VARCHAR(MAX),
@query AS VARCHAR(MAX)
SET @cols = STUFF((SELECT distinct ',[' + Prodname +']'
FROM Product c
FOR XML PATH(''), TYPE
).value('.', 'VARCHAR(MAX)')
,1,1,'')
SET @query =
' SELECT *
FROM
(
SELECT Prodname,
pcode,
Biiledamt
FROM Product
) p
PIVOT
(
SUM (Biiledamt)
FOR Prodname IN (' + @cols + ')
) AS pvt
'
EXEC(@query)https://stackoverflow.com/questions/18484401
复制相似问题