Databases Reference
In-Depth Information
where rl.type = 2
group by rl.customerNo)b
on a.customerNo = b.customerNo
group by a.riskID
Bild 15.1■ Abfrage mit NULL-Werten
Es ofenbart sich ein Problem: In den Zeilen mit NULL in den Retourenspalten wird kein
Nettoertrag errechnet (Bild 15.1). NULL -Werte werden komplett ignoriert. Also müssen Sie
diese NULL -Werte in eine echte Null (0) umwandeln, die bei Additionen und Subtraktionen
eingesetzt werden kann. Dafür verwenden Sie den Befehl ISNULL . Wenn der Inhalt einer
Spalte oder das Ergebnis einer Berechnung NULL ist, dann wird dieser NULL -Wert mit dem
Befehl ISNULL umgewandelt. Sie müssen dann nur noch angeben, in welchen Wert NULL
umgewandelt werden soll.
ISNULL (Ergebnis, 0) wandelt das Ergebnis in die Zifer „0“ um, wenn das Ergebnis
NULL ist.
ISNULL (sum(Spaltenname), 0) wandelt die Summe in die Zifer „0“ um, wenn die
Summe NULL ist.
Hinter dem Komma steckt also die Angabe, in welchen Wert NULL umgewandelt werden soll.
In unserem Select benötigen wir die Umwandlung von NULL in die Zifer „0“ bei der Berech-
nung der Retourenkosten
ISNULL((sum (b.Retouren)*5.8),0)Retourkosten
und bei der Errechnung des Nettoertrags.
sum (a.Nettosumme)- ISNULL(sum (b.Ret_Nettowert),0)- (sum (a.Bestel-
lungen)*9.5)-
ISNULL((sum (b.Retouren)*5.8),0)Nettoertrag
Der vollständige Select lautet wie folgt:
Select a.riskID, count (distinct a.customerNo) Konten,
sum (a.Bestellungen)Bestellungen, sum (a.Artikel) Artikel,
Search WWH ::




Custom Search