Hallo,
ich habe eine Query, die ich erweitern möchte:
SELECT
sum(
(CASE
WHEN (b.PM = 0 AND b.PA = 'Z') THEN 0
WHEN (b.PM = 0 AND b.PA = 'K') THEN 0
WHEN b.PM = 0 THEN 1
ELSE
b.PM
END)
*Preis
*
...
Nun möchte ich, diesen Teil erweitern:
(CASE
WHEN (b.PM = 0 AND b.PA = 'Z') THEN 0
WHEN (b.PM = 0 AND b.PA = 'K') THEN 0
WHEN b.PM = 0 THEN 1
ELSE
b.PM
END)
*Preis
Es soll für den Fall, dass (b.PMAW > 0) ist, folgender Code in der Query abgefragt wird:
(CASE
WHEN (b.PM = 0 AND b.PA = 'Z') THEN 0
WHEN (b.PM = 0 AND b.PA = 'K') THEN 0
WHEN b.PM = 0 THEN 1
ELSE
b.PM
END)
*Preis
Also dachte ich mir, ich füge eine verschachtelte Bedingung ein:
SELECT
sum(
IF (b.PMAW > 0) THEN
(CASE
WHEN (b.PM = 0 AND b.PA = 'Z') THEN 0
WHEN (b.PM = 0 AND b.PA = 'K') THEN 0
WHEN b.PM = 0 THEN 1
ELSE
b.PM
END)
*Preis
ELSE
(CASE
WHEN (b.PM = 0 AND b.PA = 'Z') THEN 0
WHEN (b.PM = 0 AND b.PA = 'K') THEN 0
WHEN b.PM = 0 THEN 1
ELSE
b.PM
END)
*Preis
END IF
*
Aber weder diese Query mit der IF-Bedingung, noch mein vorheriger Versuch mit einer weiteren CASE-THEN-END Bedingung laufen.
Wie kann ich mein Vorhaben umsetzen, bzw. was amche ich falsch?
L.