isim verilmiş case when yapısı tekrar kullanmak

Katılım
20 Aralık 2013
Mesajlar
195
Excel Vers. ve Dili
Microsoft Office Standart 2013 - Microsoft Windows 10 Enterprise
Merhabalar,

Aşağıdaki kod bloğundaki en alt satır hata döndürüyor. Yapmak istediğim case when ile oluşturulmuş bir kolonu tekrar bir case when içinde kullanmak. yardımlarınızı rica ederim. İyi çalışmalar

SQL:
CASE
WHEN STLINE.DATE_ >= '2017-01-05 00:00:00.000' AND STLINE.DATE_ <= '2018-04-30 00:00:00.000' THEN '2017-2018'
WHEN STLINE.DATE_ >= '2018-01-05 00:00:00.000' AND STLINE.DATE_ <= '2019-04-30 00:00:00.000' THEN '2018-2019'
WHEN STLINE.DATE_ >= '2019-01-05 00:00:00.000' AND STLINE.DATE_ <= '2020-04-30 00:00:00.000' THEN '2019-2020'
WHEN STLINE.DATE_ >= '2020-01-05 00:00:00.000' AND STLINE.DATE_ <= '2021-04-30 00:00:00.000' THEN '2020-2021'
ELSE '-' END AS 'SEZON',
CASE WHEN STLINE.TRCODE in (2,3) then  MIKTAR2.AMOUNT * 1 WHEN STLINE.TRCODE in (7,8) THEN MIKTAR2.AMOUNT *-1 ELSE 0 END  AS MİKTAR2,

CASE WHEN SEZON = '2017-2018' THEN MİKTAR2 ELSE 0 END AS '17-18 TONAJ'
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
3,839
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
Sezon takma adı aynı düzeyde geçerlilik kazanmaz. Sub query, view veya with bloğu gibi kümelerle kullanabilirsiniz.
 
Katılım
20 Aralık 2013
Mesajlar
195
Excel Vers. ve Dili
Microsoft Office Standart 2013 - Microsoft Windows 10 Enterprise
Sezon takma adı aynı düzeyde geçerlilik kazanmaz. Sub query, view veya with bloğu gibi kümelerle kullanabilirsiniz.
rica etsem bir örnek verebilir misiniz? sorgunun tamamı aşağıda.

SQL:
SELECT

CLCARD.CODE,
CASE
WHEN STLINE.DATE_ >= '2017-01-05 00:00:00.000' AND STLINE.DATE_ <= '2018-04-30 00:00:00.000' THEN '2017-2018'
WHEN STLINE.DATE_ >= '2018-01-05 00:00:00.000' AND STLINE.DATE_ <= '2019-04-30 00:00:00.000' THEN '2018-2019'
WHEN STLINE.DATE_ >= '2019-01-05 00:00:00.000' AND STLINE.DATE_ <= '2020-04-30 00:00:00.000' THEN '2019-2020'
WHEN STLINE.DATE_ >= '2020-01-05 00:00:00.000' AND STLINE.DATE_ <= '2021-04-30 00:00:00.000' THEN '2020-2021'
ELSE '-' END AS 'SEZON',
CASE WHEN STLINE.TRCODE in (2,3) then  MIKTAR2.AMOUNT * 1 WHEN STLINE.TRCODE in (7,8) THEN MIKTAR2.AMOUNT *-1 ELSE 0 END  AS MİKTAR2,

CASE WHEN SEZON = '2017-2018' THEN MİKTAR2 ELSE 0 END AS '17-18 TONAJ'


FROM LG_001_01_STLINE AS STLINE

LEFT JOIN LG_XT011_001 AS MIKTAR2 ON MIKTAR2.STLINE_REF=STLINE.LOGICALREF -- MİKTAR2 UYARLAMA TABLOSU
LEFT JOIN LG_001_01_STFICHE AS STFICHE ON STFICHE.LOGICALREF=STLINE.STFICHEREF -- İRSALİYE FİŞİ
LEFT JOIN L_CAPIWHOUSE AS CAPIWHOUSE ON CAPIWHOUSE.NR=STLINE.SOURCEINDEX AND CAPIWHOUSE.FIRMNR = 1-- AMBAR
LEFT JOIN LG_001_ITEMS AS ITEMS ON ITEMS.LOGICALREF=STLINE.STOCKREF -- MALZEMELER
LEFT JOIN LG_001_CLCARD AS CLCARD ON CLCARD.LOGICALREF=STLINE.CLIENTREF -- CARİ HESAPLAR


WHERE STLINE.TRCODE in (2,3,7,8) AND
CAPIWHOUSE.NAME <> 'KUR' AND
CAPIWHOUSE.NAME <> 'MERKEZ' AND
STFICHE.CANCELLED = 0
 
Üst