ifadesinde nerede çalışıyorum üzerinde çalıştığım bir sorgu için where cümlede bir durum ifadesi yazmaya çalışıyorum. Kodu Crystal raporlarında içe aktarıyorum ve temelde, 'type' değişkeninin farklı bir tarih aralığı için başka bir yerde çalıştırılmakta olan bu tarih aralığı için 'create' çalıştırmaya ayarlı olup olmadığını söylemeye çalışıyorum. Bana bir hata veriyor. Sözdizimdeki neyin yanlış olduğunu belirleyemiyorum. Herkese yardım etsin mi?CASE deyimi, tqql sorgusunda
DECLARE @Date1 DATETIME
DECLARE @Date2 DATETIME
DECLARE @type VARCHAR(20)
SET @Date1 = '2010-1-1'
SET @Date2 = '2010-2-1'
SET @type = '{?DateType}'
select *
from filled
WHERE
(CASE WHEN @type = 'create' THEN
filled.CREATEDON >= @Date1
AND filled.CREATEDON < DATEADD(d, +1, @Date2)
WHEN @type <> 'create' THEN
filled.datefilled >= @Date1
AND filled.datefilled < DATEADD(d, +1, @Date2)
END)
Ne tür bir hata alıyorsunuz? Ve neden '@ type = 'create'' için 2 kontrolünüz var? – Andrew
Ama sonra tüm SQL – aMazing
olduğunda Crystal Report neden işaretlenmiş çünkü Sorgu kristal içine alma yapıyorum. – Barzul