selam,
aşağıda kendi veri tabanım da (iki veri tabanı) yazmış olduğum çalışan ama tam olarak istediğim sonucu vermeyen bir sorgu var:
select
ŞUBE
,[Red - İnfo],[Ok - Ödendi],[Red - Risk]
,[Ok - İptal Müşteri],[Ok - İptal Rakip],[Ok - İptal Fiyat]
,[İstihbarata Alınmadı],[Red - Evrak],[Ok - İptal Evrak]
,[Müşteri İptal],[Ok - İptal Geç],[Fiyat İptal], Ok
,[Ok - Sonra],[İstihbarata Yollandı],[Evrak Bekleniyor]
from
(SELECT
KS.ADI AS 'ŞUBE'
,CAST((CASE WHEN D.DurumID=1 THEN (SUM(D.DurumID)) ELSE 0 END)AS varchar)[Evrak Bekleniyor]
,CAST((CASE WHEN D.DurumID=2 THEN (SUM(D.DurumID)) ELSE 0 END)AS varchar)[İstihbarata Yollandı]
,CAST((CASE WHEN D.DurumID=3 THEN (SUM(D.DurumID)) ELSE 0 END)AS varchar)[Ok]
,CAST((CASE WHEN D.DurumID=4 THEN (SUM(D.DurumID)) ELSE 0 END)AS varchar)[Ok - Sonra]
,CAST((CASE WHEN D.DurumID=5 THEN (SUM(D.DurumID)) ELSE 0 END)AS varchar)[Ok - Ödendi]
,CAST((CASE WHEN D.DurumID=6 THEN (SUM(D.DurumID)) ELSE 0 END)AS varchar)[Ok - İptal Rakip]
,CAST((CASE WHEN D.DurumID=7 THEN (SUM(D.DurumID)) ELSE 0 END)AS varchar)[Ok - İptal Fiyat]
,CAST((CASE WHEN D.DurumID=8 THEN (SUM(D.DurumID)) ELSE 0 END)AS varchar)[Ok - İptal Evrak]
,CAST((CASE WHEN D.DurumID=9 THEN (SUM(D.DurumID)) ELSE 0 END)AS varchar)[Ok - İptal Geç]
,CAST((CASE WHEN D.DurumID=10 THEN (SUM(D.DurumID)) ELSE 0 END)AS varchar)[Ok - İptal Müşteri]
,CAST((CASE WHEN D.DurumID=11 THEN (SUM(D.DurumID)) ELSE 0 END)AS varchar)[Red - İnfo]
,CAST((CASE WHEN D.DurumID=12 THEN (SUM(D.DurumID)) ELSE 0 END)AS varchar)[Red - Evrak]
,CAST((CASE WHEN D.DurumID=13 THEN (SUM(D.DurumID)) ELSE 0 END)AS varchar)[Red - Risk]
,CAST((CASE WHEN D.DurumID=14 THEN (SUM(D.DurumID)) ELSE 0 END)AS varchar)[Müşteri İptal]
,CAST((CASE WHEN D.DurumID=15 THEN (SUM(D.DurumID)) ELSE 0 END)AS varchar)[Fiyat İptal]
,CAST((CASE WHEN D.DurumID=16 THEN (SUM(D.DurumID)) ELSE 0 END)AS varchar)[İstihbarata Alınmadı]
FROM EFWEB.dbo.Talep T (NOLOCK)
full outer JOIN EFWEB.dbo.TalepDurum D (NOLOCK) ON D.DurumID = T.DurumID full outer JOIN EFWEB.dbo.SystemUser SU (NOLOCK) ON SU.UserID = T.UserID full outer JOIN ORION.dbo.[KART_SUBE] KS (NOLOCK) ON KS.LOGICALREF = SU.SubeRef
where KS.ADI IS NOT NULL GROUP BY KS.ADI,D.DurumID
)a
group by
ŞUBE
,[Evrak Bekleniyor],[Fiyat İptal],[İstihbarata Alınmadı],[İstihbarata Yollandı],[Müşteri İptal], Ok,[Ok - İptal Evrak],[Ok - İptal Fiyat],[Ok - İptal Geç],[Ok - İptal Müşteri],[Ok - İptal Rakip]
,[Ok - Ödendi],[Ok - Sonra],[Red - Evrak],[Red - İnfo],[Red - Risk]
order by
[Red - İnfo]desc,[Ok - Ödendi]desc,[Red - Risk]desc,[Ok - İptal Müşteri]desc,[Ok - İptal Rakip]desc,[Ok - İptal Fiyat]desc,[İstihbarata Alınmadı]desc
,[Red - Evrak]desc,[Ok - İptal Evrak]desc,[Müşteri İptal]desc,[Ok - İptal Geç]desc,[Fiyat İptal]desc, Ok desc,[Ok - Sonra]desc,[İstihbarata Yollandı]desc,[Evrak Bekleniyor]desc
sorgunun sonucunun bir kısmı aşağıdaki gibidir:
ŞUBE Red - İnfo Ok - Ödendi Red - Risk Ok - İptal Müşteri Ok - İptal Rakip Ok - İptal Fiyat İstihbarata Alınmadı Red - Evrak Ok - İptal Evrak Müşteri İptal Ok - İptal Geç Fiyat İptal Ok Ok - Sonra İstihbarata Yollandı Evrak Bekleniyor
BURSA 5610 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KARTAL 22528 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
İKİTELLİ 20064 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Merkez 14542 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
BAYRAMPAŞA 12936 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ANKARA 11440 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
İKİTELLİ 0 9340 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ANKARA 0 6415 0 0 0 0 0 0 0 0 0 0 0 0 0 0
BAYRAMPAŞA 0 5215 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Merkez 0 5010 0 0 0 0 0 0 0 0 0 0 0 0 0 0
BURSA 0 3175 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KARTAL 0 10080 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KARTAL 0 0 3497 0 0 0 0 0 0 0 0 0 0 0 0 0
İKİTELLİ 0 0 3081 0 0 0 0 0 0 0 0 0 0 0 0 0
ANKARA 0 0 3003 0 0 0 0 0 0 0 0 0 0 0 0 0
Merkez 0 0 2223 0 0 0 0 0 0 0 0 0 0 0 0 0
BAYRAMPAŞA 0 0 1625 0 0 0 0 0 0 0 0 0 0 0 0 0
BURSA 0 0 1183 0 0 0 0 0 0 0 0 0 0 0 0 0
yukarıdaki tablonun aşağıdaki gibi görünmesini istiyorum: (aşağıdaki excel pivot tablo ile yapılmıştır)
ŞUBE Toplam Red - İnfo Toplam Ok - Ödendi Toplam Red - Risk Toplam Ok - İptal Müşteri Toplam Ok - İptal Rakip Toplam Ok - İptal Fiyat Toplam İstihbarata Alınmadı Toplam Red - Evrak Toplam Ok - İptal Evrak Toplam Müşteri İptal Toplam Ok - İptal Geç Toplam Fiyat İptal Toplam Ok Toplam Ok - Sonra Toplam İstihbarata Yollandı Toplam Evrak Bekleniyor
ANKARA 11726 6605 3133 2320 2496 84 176 96 96 224 9 0 6 12 2 2
BAYRAMPAŞA 13266 5370 1651 1240 678 203 1520 192 512 224 144 0 33 8 6 0
BURSA 5896 3245 1222 920 396 343 32 228 56 154 45 0 6 4 0 0
İKİTELLİ 20548 9495 3146 2160 492 1386 96 336 720 504 72 0 12 12 12 0
KARTAL 23067 10270 3640 2800 84 1638 160 240 224 378 279 30 30 4 4 0
Merkez 15114 5205 2288 1660 756 1176 1888 1920 128 210 63 225 33 32 4 3
Genel Toplam 89617 40190 15080 11100 4902 4830 3872 3012 1736 1694 612 255 120 72 28 5
yukarıdaki SQL kodunda PIVOT tablo da kullandım ama bir türlü istediğim hale getiremedim. (sıfırlar olamadan sadece gerekli değerler gelsin)
benim istediğim sonucu verebilecek kod yapısını bilen var mı?
tercihim benim kodun üzerinden bir değişiklik le sonuca gidebilmek ama işe yarayan başka yöntemler bilen varsa lütfen yardımcı olsun .
teşekkürler
metin