Merhaba bu yazımda sizlere satırları sutun gibi gösterebilen, inanılmaz pratik Pivot Komutunu anlatacağım.
MSSQL veritabanında ” pivot komutu ” kullanmanın mantığını anlamak için öncelikle düz listeleme yapan kodumuzu buraya ekliyorum.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | select * from  (select 1 adet,  'mavi' renk union  select 19 adet , 'yesil' renk union  select 3 adet ,  'beyaz' renk union  select 15 adet , 'mavi' renk union  select 10 adet , 'yesil' renk union  select 4 adet ,  'mavi' renk union  select 7 adet ,  'beyaz' renk union  select 1 adet , 'yesil' renk  ) src | 
Eğer yukarıdaki listelemeyi pivot kullanımı olmadan yapmış olsaydık sonuç olarak alacağız çıktı resimdeki gibi olacaktı.

Bu listede şunu yapmak aklımızda geldiğinde ne yapacaktık diye soruma başlayayım. Soru şu : Maviler kaç adet, yeşiller kaç adet , yani her renk kaçar adetmiş ?
Birde çıktıları kriterleyeceğim renk isimleri sutun başlığı olsun istiyorum 🙂 Ne çok şey istiyorum değil mi ? Ama sağolsun MS-SQL geri çevirmiyor 😉
Ve şimdi isteğimize cevap veren sorgu ;
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | select * from  (select 1 adet,  'mavi' renk union  select 19 adet , 'yesil' renk union  select 3 adet ,  'beyaz' renk union  select 15 adet , 'mavi' renk union  select 10 adet , 'yesil' renk union  select 4 adet ,  'mavi' renk union  select 7 adet ,  'beyaz' renk union  select 1 adet , 'yesil' renk  ) src pivot  (  sum(adet)  for renk in ([mavi],[beyaz],[yesil] ) ) piv; | 
Sadece pivot kısmı yukarıdaki sorgudan farklı ve çıktı tam istediğimiz gibi 🙂

Umarım kısa ve faydalı bir anlatım olmuştur, daha ileri seviye kullanımları sizlerin deneyim ve isteklerinize göre artık gelişecektir.
 This post has been seen 839 times.
 This post has been seen 839 times.