Forum

Bildirimler
Hepsini Temizle

Sql Pivot

5 Yazılar
2 Üyeler
0 Reactions
1,711 Görüntüleme
(@OguzhanGur)
Gönderiler: 37
Trusted Member
Konu başlatıcı
 

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 . 

 

 
Gönderildi : 16/07/2013 20:36

(@kenanilgun)
Gönderiler: 544
Üye
 

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.

 

 
Gönderildi : 16/07/2013 20:48

(@OguzhanGur)
Gönderiler: 37
Trusted Member
Konu başlatıcı
 
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 
 
Gönderildi : 17/07/2013 20:14

(@OguzhanGur)
Gönderiler: 37
Trusted Member
Konu başlatıcı
 

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 

 
Gönderildi : 17/07/2013 20:19

(@OguzhanGur)
Gönderiler: 37
Trusted Member
Konu başlatıcı
 

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

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

 
Gönderildi : 19/07/2013 15:00

Paylaş: