您将需要创建一个动态数据透视表。首先,您需要声明所有应创建的列。这是通过@Cols声明完成的。然后,您需要进行一个包含所有列的调用,此操作在@SQL此处的声明中完成。最后,该调用由EXEC执行。由于没有图像数据,我只能解释逻辑,而不是实际最终结果,但是如果您将数据添加为表,则可以针对该查询进行调整。
``````js
js DECLARE @SQL VARCHAR(1000) DECLARE @Cols VARCHAR(1000)
SET @Cols = Stuff((
SELECT DISTINCT ',' + ' ' + QuoteName(ID) + ''
FROM [TableName] A
ORDER BY 1
FOR XML Path('')
), 1, 1, '') + ''
-- Print @Cols
SET @SQL = '
Select
Name
,' + @Cols + '
From [TableName] A
Pivot (MAX([Columns]) For [ID] in ( ' + @Cols + ')
) as pvt
'
-- Print @SQL
EXEC (@SQL)