Databases Reference
In-Depth Information
Beide Abfragen werden nun in Klammern gesetzt und mit einem Alias versehen. Wir neh-
men den Alias bd für „Bestelldaten“ und rd für „Retourendaten“. Man kann den Alias ein-
fach direkt hinter die Klammer schreiben, so wie Sie das bereits kennen, oder mit dem Wort
as anbinden.
SELECT <Ergebnis> FROM TABLE AS <Alias>
Zwischen beiden in Klammern gesetzten Abfragen kommt der Join-Befehl LEFT OUTER
JOIN . Hinter der letzten Klammer wird angegeben, auf welche Spalten sich der Join bezie-
hen soll. Vor die erste Klammer setzen wir den Selektionsbefehl, mit dem die Ergebnisse
von beiden Unterabfragen zusammengeführt werden.
Werfen wir nun einen Blick auf den Select im beschriebenen Stadium.
Select bd.IRID, bd.Datum, bd.Bestellung, bd.Artikelmenge, bd.Gesamtsumme,
rd.Anzahl_R_Artikel, rd.R_Nettowert
from
(Select a.IRID, a.Datum, a.Bestellung, a.Artikelmenge, a.Gesamtsumme
from
(SELECT c.riskID IRID,s.postingDate Datum,s.orderNo Bestellung,
cast (sum (s.quantity)as DECIMAL(10,0))Artikelmenge,
cast (sum (s.amount)as DECIMAL(10,2))Gesamtsumme
from [dbo].[iw_sales]s,[dbo].[iw_customer]c
where s.customerNo = c.customerNo
and s.type = 2
group by c.riskID,s.postingDate,s.orderNo)a,
(SELECT c.riskID IRID,min (s.postingDate) Erstbestellung
FROM [dbo].[iw_sales]s,[dbo].[iw_customer]c
where s.customerNo = c.customerNo
and s.type = 2
group by c.riskID)b
where a.IRID = b.IRID
and a.Datum = b.Erstbestellung) as bd
LEFT OUTER JOIN
(SELECT c.riskID IRID,s.postingDate Datum,rh.orderNo Bestellung,
Cast(sum(rl.quantity)as DECIMAL(10,0)) Anzahl_R_Artikel,
Cast(sum (rl.line_amount)as DECIMAL(10,2))R_Nettowert
FROM [dbo].[iw_sales]s,[dbo].[iw_customer]c,[dbo].[iw_return_line]rl,
[dbo].[iw_return_header]rh
where s.type = 2
and s.orderNo = rh.orderNo
and rh.returnNo = rl.returnNo
and s.IWAN = rl.IWAN
and rl.type = 2
and s.customerNo = c.customerNo
group by c.riskID, s.postingDate, rh.orderNo) as rd
on bd.Bestellung = rd.Bestellung
Lassen Sie diesen Select einmal laufen und schauen Sie sich das Ergebnis an. Es gibt eine
ganz Reihe von Datensätzen ohne Retouren. Hätten wir hier nicht einen OUTER JOIN ver-
wendet, würden diese Datensätze nicht angezeigt werden (Bild 11.8).
 
Search WWH ::




Custom Search