
PIVOT TABLE - SQL
Dynamic pivot in SQL server
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX);
SELECT @cols = STUFF(
(
SELECT "," + QUOTENAME(ColumnName)
FROM yourtable
GROUP BY ColumnName,
id
ORDER BY id
FOR XML PATH(""), TYPE
).value(".", "NVARCHAR(MAX)"),1,1,"");
SET @query
= N"SELECT " + @cols + N" from (select value, ColumnName from your table ) x pivot ( max(value) for ColumnName in (" + @cols + N")) p ";