Posted by : Unknown Friday, 19 December 2014

Pivot adalah perintah untuk  merubah bentuk dari suatu bentuk baris menjadi tabel kolom.
Sedangkan Unpivot adalah perintah untuk merubah bentuk tabel kolom menjadi baris.

Contoh implementasi :
Tabel yang digunakan Detail_trans dan Produk

Selanjutnya karena kedua tabel saling berhubungan (pada tabel Detail_trans terdapat foreign key id_produk dari tabel Produk) maka harus ada perintah join. Disini saya menggunakan perintah inner join.

SELECT A.id_trans, A.id_cust, A.id_produk, B.nm_produk, A.jumlah, A.total_harga 
FROM Detail_trans AS A
INNER JOIN Produk AS B
ON A.id_produk = B.id_produk

1. Pivot
SELECT * FROM (SELECT A.id_trans, A.id_cust, A.id_produk, B.nm_produk, A.jumlah, A.total_harga 
FROM Detail_trans AS A
INNER JOIN Produk AS B
ON A.id_produk = B.id_produk) pvt
PIVOT (min(id_cust)FOR pvt.id_trans
IN([001],[002], [003])) AS cust

2. Unpivot
Perintah di bawah ini untuk meng-unpivotkan perintah di step pivot di atas.
SELECT * FROM (SELECT A.id_trans, A.id_cust, A.id_produk, B.nm_produk, A.jumlah, A.total_harga 
FROM Detail_trans AS A
INNER JOIN Produk AS B
ON A.id_produk = B.id_produk) pvt
pivot (min(id_cust)FOR pvt.id_trans
in([001],[002], [003])) AS cust
unpivot (id_cust for id_trans in([001],[002], [003])) as unpivt

3. Perbedaan hasil tabel pivot dan unpivot


Leave a Reply

Subscribe to Posts | Subscribe to Comments

Powered by Blogger - Risqy Pradini - 2018