Hallo Webster,
Verwende statt IF die CASE Anweisung.
Das würde deiner IF-Anweisung entsprechen:
SQL-Anweisung
1: 2: 3:
| .., CASE WHEN g.bei_absage IS NULL THEN 0 ELSE 1 END as absagen ... |
Welche Werte kann eigentlich g.bei_absage haben? Wenn g.bei_absage = 0 sein kann,
würde die Anweisung zu einem fehlerhaften Ergebnis führen, da 0 <> NULL und damit absagen:=1.
Die CASE müsste also ein wenig ausgebaut werden.
Wenn man davon ausgehen kann, dass "g.bei_absage" die Werte NULL, 0 oder 1 haben kann geht es auch so:
SQL-Anweisung
1: 2: 3:
| .., COALESCE(g.bei_absage, 0) as absagen, ... |
Als Ergebnis wird der erste Wert der nicht NULL ist zurückgegeben.
alex