Vermutlich kannst du das kürzen auf :
[CODE]
SELECT
H01.OLPRDC,
sum(CASE WHEN H04.OHODAT BETWEEN 20230105 AND 20230405 THEN H01.OLITET ELSE 0 END) AS "Umsatz Aktion",
sum(CASE WHEN H04.OHODAT BETWEEN 20230105 AND 20230405 THEN H01.OLOQTY ELSE 0 END) AS "Menge Aktion",
sum(CASE WHEN H04.OHODAT BETWEEN 20230305 AND 20230405 THEN H01.OLITET ELSE 0 END) AS "Umsatz Vergleich",
sum(CASE WHEN H04.OHODAT BETWEEN 20230305 AND 20230405 THEN H01.OLOQTY ELSE 0 END) AS "Menge Vergleich"
FROM
FRI510AFWF.SROORSPL H01
JOIN FRI510AFWF.SRONAM H02 ON
H01.OLCUNO = H02.NANUM
JOIN FRI510AFWF.SRBSOH H04 ON
H01.OLORNO = H04.OHORNO
JOIN FRI510AF.SROPRG H06 ON
H01.OLPRDC = H06.PGPRDC
JOIN FRI510AF.SRBCTLD1 H03 ON
H01.OLORDT = H03.CTOTYP
WHERE
( H04.OHODAT BETWEEN 20230105 AND 20230405 --Aktionszeitraum
OR H04.OHODAT BETWEEN 20230305 AND 20230405 ) --Vergleichzeitraum
AND H01.OLSTAT <> 'D'
AND H01.OLIORD = 'N'
AND H01.OLORDT NOT IN ('IV', 'IS', 'BL', 'IG', 'V4', 'IU')
AND H02.NACOUN IN ('DE')
AND H04.OHHAND <> 'PSHOP'
AND H01.OLPRDC IN('38099478', '11046624')
GROUP BY
H01.OLPRDC;[/CODE]
BETWEEN vergleicht übrigens Zahlen oder Datumswerte, das heißt hier wird konvertiert. Daher habe ich mal die Anführungszeichen weg gelassen, die Spalte wird ggf. noch konvertiert.