SQL 语句实现行转列

时间:2023-03-08 22:09:07
CREATE TABLE #tempcloum(
[productNum] varchar() null,
[year1] decimal not null,
[year2] decimal not null,
[year3] decimal not null
)
--лляD┴л
DECLARE @sql VARCHAR()
SET @sql = 'SELECT [productNum],'
SELECT @sql = @sql + 'SUM(CASE [year] WHEN '''+[year]+''' THEN [price] ELSE 0 END) AS '''+[year]+''','
FROM (SELECT DISTINCT [year] FROM #tempYear) AS a
SELECT @sql = LEFT(@sql,LEN(@sql)-) + ' FROM #tempYear GROUP BY [productNum] '
PRINT(@sql) insert into #tempcloum EXEC(@sql)
GO