Pivot table bir tablodaki verileri yatay olarak göstermemizi sağlar yani satırlarda bulunan bilgileri istediğimiz alanlara göre sutunlara çevirir. Özellikle rapor hazırlarken verileri daha anlaşılır ve düzenli hale getirmemizi sağlar. Örneğin bir sipariş tablomuz var. Bir müşterinin verdiği her bir sipariş bir satırda gösteriliyor. Her müşteri için son 2 aylık sipariş bilgilerini görmek istiyoruz. Birinci yöntem her hareketi alt alta yazmak olabilir ama daha anlaşılır ve düzenli bir rapor için her müşteri bir satırda yer almalı ve bu satırda son altı aya ait tüm sipariş tutarlarının toplamı gösterilmelidir. Bu durumda pivot table kullanmak imdadımıza yetişir.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
SELECT * FROM ( SELECT MusteriAdSoyad ,Donem , sum (Tutar) as ToplamTutar FROM Siparis group by MusteriAdSoyad ,Donem ) as gTablo PIVOT ( SUM (ToplamTutar) FOR Donem IN ([200911],[200912],[201001]) ) AS p |
Yukarıdaki sorgu sonucu aşağıdaki gibi her ay bir kolon olacak şeklide bilgilerimiz yatayda dizildi
MusteriAdSoyad | 200911 | 200912 |
---|---|---|
Ali DEMİR | 80 | 2550 |
Metin TOSUN | 3300 | 250 |
Sabri KUNT | NULL | 1580 |
Gördüğünüz gibi bu şeklide bir tablo oluşturmak sonucun daha düzenli olmasını sağladığı gibi incelenmesini kolaylaştırır.