Yaptığım bir kodu pivot tablo olarak çalıştırmak istediğimde sorun yaşıyorum, yardım rica ediyorum;
Benim yaptığım kodda; pazarlamacı, tarih ve adet kolonları vardır.
Normal sql kodum şöyle;
SELECT UserID, BeginDate,count(UserID) paz
FROM AJANDA
WHERE Begindate between '2013-01-01 00:00:00.000' and getdate()
group by UserID, BeginDate
Normal sorgu sonucu ;
Burada benim istediğimin görüntüsü şöyle;
Bunun için pivot table yaptım;
Kodu şöyle;
with aj AS
(
SELECT
UserID,BeginDate, --CreatedOn,
count(UserID) as paz
FROM AJANDA
WHERE CreatedOn between '2013-01-01 00:00:00.000' and getdate()
group by UserID,BeginDate
--, CreatedOn
)select * from aj
pivot (sum(paz) for BeginDate in
([2013-11-01],[2013-11-02],[2013-11-03],[2013-11-04],[2013-11-05],[2013-11-06]
,[2013-11-07],[2013-11-08],[2013-11-09],[2013-11-10],[2013-11-11])) as tarih
sonucu ise şöyle;
Şimdi burada iki konuda yardımınızı rica ediyorum;
1 ) koda baktığınızda görebileceğiniz gibi; pivot'taki tarihleri elle yazdım, ancak bunlar tabloya otomatik yazan tarihlerdir, bunları pivotta elle yazmadan "BeginDate" kolonundan direkt çağırmak yada bir tarih aralığı vererek yazmak mümkün müdür?
Ben between falan denedim ama pivotta olmuyor galiba.
2) pivot'un sonucunda NULL kayıtların yerine nasıl 0 yazarım?
pivot isnull(sum(paz),'0' for BeginDate in
denedim ama çalışmadı.
Özellikle birinci madde ile yardımlarını bekliyorum.
teşekkürler
iyi günler