Bildirimler
Hepsini Temizle

Sql Pivot  

  RSS
Oğuzhan Gür
(@OguzhanGur)
Üye

Dinamik pivot sorgularda oluşturulan değişkenlerde date veri türünde tarih ataması yapamıyorum 

Örnekleyici olursa

DECLARE @Tarih DATE

SET  @Tarih = ' 2013-07-01'

 WHERE     (EskiTarih.Tarih = Convert(Nvarchar,@EskiTarih))

 

Convert Ettiğim Halde  Must declare the scalar variable "@Tarih".  hatası alıyorum.

Değişken tanımlamadan direk tarih bilgisi yazdığım zaman hiç bir hata karşıma çıkmıyor ama hiç bir değer elde edemiyorum.

 Yardımcı Olursanız Sevinirim . 

 

Alıntı
Gönderildi : 16/07/2013 20:36
Kenan İLGÜN
(@kenanilgun)
Saygın Üye Forum Yöneticisi

Merhaba,

Bence bir sütun tiplerinizi kontrol eder misiniz. Eğer ki hala aynı sorun oluyorsa tablo yapınızla aynı şekilde bir örnek sorgu ve tablo şeması yansıtırsanız yardımcı olabilirim.

 

CevapAlıntı
Gönderildi : 16/07/2013 20:48
Oğuzhan Gür
(@OguzhanGur)
Üye
DECLARE @EskiTarih DATE
SET @EskiTarih '2013-07-05' 
DECLARE @Tarih DATE 
SET @Tarih = '2013-07-05' 
 
 
SET @Sorgu = 'SELECT * FROM 
(SELECT   SUM(YeniTarih.Satis - 0) AS Satis, BOLGELER.Bolge_Ad, YeniTarih.Tarih
FROM         BAYILER INNER JOIN
                      GUNLUKISLEM AS YeniTarih ON BAYILER.Bayi_Id = YeniTarih.BayiId INNER JOIN
                      URUNLER ON YeniTarih.UrunId = URUNLER.Ilac_Id INNER JOIN
                      BOLGELER ON BAYILER.Bolge_Id = BOLGELER.Bolge_Id
WHERE  (URUNLER.Ilac_Id = 5) AND (YeniTarih.Tarih = CONVERT(DATETIME, @Tarih, 102))AND MONTH(YeniTarih.Tarih)=7
GROUP BY BOLGELER.Bolge_Ad,YeniTarih .Tarih 
)AS PVT 
PIVOT
(
SUM(Satis)FOR  Bolge_Ad IN
('+@Kolonlar+')
)AS Ptv
'
EXEC (@Sorgu)
 
 
Aldığım HataMesajı
[ADANA],[ANADOLU] ,[ANKARA] ,[AVRUPA] ,[BURSA] ,[DİĞERLERİ] ,[İZMİR] ,[KONYA] ,[SAMSUN] 
Must declare the scalar variable "@Tarih".
Must declare the scalar variable "@EskiTarih".
Must declare the scalar variable "@Tarih". 
 
Dinamik pivot sorgumda böyle bir hata alıyorum static bir pivot sorguda normal bir şekilde sorunsuz çalışmaktadır 
CevapAlıntı
Gönderildi : 17/07/2013 20:14
Oğuzhan Gür
(@OguzhanGur)
Üye

Aynı zamanda sp olarak kaydettiğim zaman dışarıdan gelicek olan parametreler pivot sorgu içerisine nasıl yerleştirebilirim nasıl bir  syntax   ile parametreleri eklicem 

CevapAlıntı
Gönderildi : 17/07/2013 20:19
Oğuzhan Gür
(@OguzhanGur)
Üye

Tarih= '''+CONVERT(VARCHAR(MAX), @Tarih, 102)+'''

Formatında Yazılarak Sorun Çözülmüştür. 

CevapAlıntı
Gönderildi : 19/07/2013 15:00
Paylaş: