Databases Reference
In-Depth Information
[dbo].[iw_return_line]rl
on s.customerNo = rl.customerNo
where c.customerNo = s.customerNo
and s.type = 2 → nur Artikel
and rl.type = 2 → nur Artikel
group by c.riskID
Lassen Sie diesen Select laufen und schauen Sie sich das Ergebnis an (Bild 14.10).
 Bild 14.10■
Bestell- und Retouren-
daten ohne Versandkosten
Scrollen Sie nun einmal in der Ergebnisliste und suchen Sie nach Kunden, die keine Retou-
ren getätigt haben - Sie werden keine inden!
Wir haben also ein Problem. Die Bedingung 'and rl.type = 2' hebt den Outer Join auf.
Es gibt aber eine Lösung: Der Outer Join muss an einer anderen Stelle aufgebaut werden.
Das führen wir nun Schritt für Schritt durch.
Zuerst benötigen wir die Bestelldaten in Form einer kompletten Auswertung pro Kunden.
SELECT c.riskID, s.customerNo,
count (distinct s.orderNo)Bestellungen, sum (s.quantity)Artikel,
cast (sum (s.amount *s.quantity)as decimal(10,2))Nettosumme
FROM [dbo].[iw_customer]c,[dbo].[iw_sales]s
where c.customerNo = s.customerNo
and s.type = 2
group by c.riskID, s.customerNo
Search WWH ::




Custom Search