SQL SUM(Case when)
Hallo Zusammen,
kann man den folgenden Code auch kürzer schreiben?...
ich dachte da an eine OR als Verknüpfung leider bekomme ich da andere Ergebnisse...
Grüße Florian
kann man den folgenden Code auch kürzer schreiben?...
sum(case when NSDM_V_MSEG.BWART = 101 then NSDM_V_MSEG.MENGE * 1
when NSDM_V_MSEG.BWART = 102 then NSDM_V_MSEG.MENGE * -1
when NSDM_V_MSEG.BWART = 262 then NSDM_V_MSEG.MENGE * 1
when NSDM_V_MSEG.BWART = 261 then NSDM_V_MSEG.MENGE * -1
ich dachte da an eine OR als Verknüpfung leider bekomme ich da andere Ergebnisse...
sum(case when NSDM_V_MSEG.BWART = 101 OR NSDM_V_MSEG.BWART = 262 then NSDM_V_MSEG.MENGE * 1
when NSDM_V_MSEG.BWART = 102 OR NSDM_V_MSEG.BWART = 261 then NSDM_V_MSEG.MENGE * -1
Grüße Florian
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 648119
Url: https://administrator.de/contentid/648119
Ausgedruckt am: 19.11.2024 um 17:11 Uhr
2 Kommentare
Neuester Kommentar
Moin
Gruß
em-pie
Zitat von @LauneBaer:
Geht noch kürzer:sum(case when (NSDM_V_MSEG.BWART = 101 OR NSDM_V_MSEG.BWART = 262) then NSDM_V_MSEG.MENGE * 1
> when (NSDM_V_MSEG.BWART = 102 OR NSDM_V_MSEG.BWART = 261) then NSDM_V_MSEG.MENGE * -1
sum(case
when NSDM_V_MSEG.BWART in (101, 262) then NSDM_V_MSEG.MENGE * 1
when NSDM_V_MSEG.BWART in (102, 261) then NSDM_V_MSEG.MENGE * -1
END)
Gruß
em-pie