0

有没有什么快速的方法可以将一行中的值转换为列标题.. 假设我在名为 indx_nm 的列中有行值A, B, C... Z有没有一种简单的方法来制作列标题A,... B, 而不必手动填充(我有 1000 个不同的值,我遇到了这些值来制作协方差矩阵)CZ

4

1 回答 1

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, '')

set @query = 'SELECT' + @cols + ' from (select indx_nm, Othercolumn from temp) x pivot ( max(Othercolumn) for indx_nm in (' + @cols + ') ) p'

执行@查询

于 2013-08-05T16:05:15.483 回答