Change column name while using PIVOT SQL Server 2008

Rauf picture Rauf · Nov 14, 2011 · Viewed 28.5k times · Source
    SELECT * FROM EmployeeAttributes
PIVOT (
     MAX(VALUE)
     FOR AttributeID IN ([DD14C4C2-FC9E-4A2E-9B96-C6A20A169B2E],[BE8149E2-0806-4D59-8482-58223C2F1735],[23B2C459-3D30-41CA-92AE-7F581F2535D4])
      ) P

Result

    EmployeeID                           DD14C4C2-FC9E-4A2E-9B96-C6A20A169B2E               BE8149E2-0806-4D59-8482-58223C2F1735               23B2C459-3D30-41CA-92AE-7F581F2535D4
------------------------------------ -------------------------------------------------- -------------------------------------------------- --------------------------------------------------
329999EA-6288-4E7D-87E8-12FF865AB301 Rauf                                               23                                                 10
34E2B762-F065-42BB-B4D8-2252102F1C20 Amal                                               NULL 

                                          5

Now HOW can I change the column name to Name, Age, Salary respectively after the EmployeeID ?

Answer

Martin Smith picture Martin Smith · Nov 14, 2011

Use AS to give a column alias.

SELECT EmployeeID,
       [DD14C4C2-FC9E-4A2E-9B96-C6A20A169B2E] AS Name,
       [BE8149E2-0806-4D59-8482-58223C2F1735] AS Age,
       [23B2C459-3D30-41CA-92AE-7F581F2535D4] AS Salary
FROM   EmployeeAttributes PIVOT ( MAX(VALUE) FOR AttributeID IN (
       [DD14C4C2-FC9E-4A2E-9B96-C6A20A169B2E],
       [BE8149E2-0806-4D59-8482-58223C2F1735],
       [23B2C459-3D30-41CA-92AE-7F581F2535D4]) ) P