我有没有快速的方法可以将行中的值转换为列标题..说我有行值A
,B
,C
... Z
在一个名为indx_nm的列中。是否有一种简单的方法可以制作列标题A
,B
,C
... Z
,而无需手动填充(我有1000个不同的值,我遇到制作一个协方差矩阵
答案 0 :(得分:0)
您可以使用动态PIVOT。
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX);
SET @cols = STUFF((SELECT','+ CONVERT(VARCHAR,indx_nm) FROM TableName c FOR XML PATH(''),TYPE ).value('。','NVARCHAR(MAX)') ,1,1, '')
设置@query ='SELECT'+ @cols +'来自( 选择indx_nm, Othercolumn 来自临时 ) X 枢 ( MAX(Othercolumn) for indx_nm in('+ @cols +') )p'
执行@query