Penggunaan UnPivot Pada SQL Server

 

Berikut adalah penggunaan UnPivot pada SQL Server :

Contoh 1 :

-- Create the table and insert values as portrayed in the previous example.  

CREATE TABLE pvt (VendorID INT, Emp1 INT, Emp2 INT,  

    Emp3 INT, Emp4 INT, Emp5 INT);  

GO  

INSERT INTO pvt VALUES (1,4,3,5,4,4);  

INSERT INTO pvt VALUES (2,4,1,5,5,5);  

INSERT INTO pvt VALUES (3,4,3,5,4,4);  

INSERT INTO pvt VALUES (4,4,2,5,5,4);  

INSERT INTO pvt VALUES (5,5,1,5,5,5);  

GO  

-- Unpivot the table.  

SELECT VendorID, Employee, Orders  

FROM   

   (SELECT VendorID, Emp1, Emp2, Emp3, Emp4, Emp5  

   FROM pvt) p  

UNPIVOT  

   (Orders FOR Employee IN   

      (Emp1, Emp2, Emp3, Emp4, Emp5)  

)AS unpvt;  

GO


Hasil :

VendorID    Employee    Orders

----------- ----------- ------

1            Emp1       4

1            Emp2       3 

1            Emp3       5

1            Emp4       4

1            Emp5       4

2            Emp1       4

2            Emp2       1

2            Emp3       5

2            Emp4       5

2            Emp5       5

...


Contoh 2 :

SELECT territory, sales

FROM

(

  SELECT 

      [Europe]

     ,[North America]

     ,[Pacific]

 FROM [dbo].[salesterritoryPivot]

) p

UNPIVOT

(

  sales for territory IN

  ([Europe],[North America],[Pacific])

) AS upvt;


Hasil :