Vinzenz Mai: NULL durch 0 ersetzen

Beitrag lesen

Hallo,

ich mache auf einer mysql-DB eine Abfrage in dieser ich ein LEFT OUTER JOIN  anwende. Zwangsläufig bekomme ich dann auch NULL-Werte zurück.

ja, das ist normal und zu erwarten.

Wie kann ich sagen, dass Werte mit NULL durch 0 in der Abfrage ersetzt werden können?

Ich verstehe zwar nicht, wozu Du dies benötigst, aber dazu kannst Du die Funktion
COALESCE() verwenden. COALESCE liefert den ersten von NULL verschiedenen Wert zurück.
Hier ein Beispiel:

SELECT  
    a.id,  
    COALESCE(b.id, 0) AS bid  
FROM a  
LEFT JOIN b  
ON a.id = b.id

Ist zu einem Wert von Tabelle a kein passender Eintrag in Tabelle b vorhanden,
so wird der NULL-Wert, der sich durch den LEFT JOIN ergibt, durch das zweite
Argument von COALESCE, 0 (die ja von NULL verschieden ist) ersetzt.

Freundliche Grüße

Vinzenz