这是我的数据:
我想要这个结果:
请注意,“App”列中插入的值没有相同的值或相同的数量,因此有时可以找到2行,另一次可能会找到10行
这是我的数据:
我想要这个结果:
请注意,“App”列中插入的值没有相同的值或相同的数量,因此有时可以找到2行,另一次可能会找到10行
您可以使用临时表来存储应用程序的值,然后将它们连接到一个变量中。最后,使用T-SQL语句构建动态数据透视表:
CREATE TABLE #VALS (VALS NVARCHAR(MAX))
INSERT INTO #VALS
SELECT DISTINCT APP
FROM [TABLE1]
DECLARE @SQL NVARCHAR(MAX)
DECLARE @VALS NVARCHAR(MAX)
SELECT @VALS = COALESCE(@VALS+', ','') + '[' + VALS + ']' FROM #VALS
SET @SQL = '
SELECT NAME, '+@VALS+'
FROM [TABLE1]
PIVOT (MAX([VERSION]) FOR APP IN ('+@VALS+')) PIV'
PRINT @SQL
EXEC (@SQL)