Databases Reference
In-Depth Information
26.4■Zusammenführung der Nettosummen
und Versender pro Kunde
Wir haben nun drei Informationen, die wir zu einem Ergebnis zusammenführen. Jeder
dieser drei Selects wird in Klammern gesetzt und mit einem Alias versehen. Wir beginnen
mit der Nettosumme der Bestellungen, danach folgt die Nettosumme der Retouren und zum
Schluss fügen wir den Versender hinzu. Alle drei Selects werden über die riskID gejoint.
Aus jeder der drei Unterabfragen holen wir uns die Informationen, die wir für das Ergebnis
benötigen.
Select a.riskID, c.shippingAgent, a.Nettosumme, b.Nettoretoure
Ergebnis
from
(SELECT c.riskID, SUM (s.quantity*s.amount) Nettosumme
FROM [dbo].[iw_customer]c,[dbo].[iw_sales]s
where c.customerNo = s.customerNo
and s.[type] = 2
group by c.riskID) a, → erste Unterabfrage Nettosumme
(SELECT c.riskID,SUM (rl.line_amount)Nettoretoure
FROM [dbo].[iw_customer]c, [dbo].[iw_return_line]rl
where c.customerNo = rl.customerNo
and rl.[type] = 2
group by c.riskID)b, → zweite Unterabfrage Nettoretoure
(SELECT distinct c.riskID, rh.[shippingAgent]
FROM [dbo].[iw_return_header]rh, [dbo].[iw_customer]c
where rh.customerNo = c.customerNo
and rh.shippingAgent in ('DHL','HERMES')
and exists
(select va.riskID from
(Select v.riskID, count (*) Anzahl
from
(SELECT distinct c.riskID, rh.[shippingAgent]
FROM [dbo].[iw_return_header]rh, [dbo].[iw_customer]c
where rh.customerNo = c.customerNo)v
where v.shippingAgent in ('DHL','HERMES')
group by v.riskID)va
where c.riskID = va.riskID
and va.Anzahl = 1))c → dritte Unterabfrage Versender
where a.riskID = b.riskID
and a.riskID = c.riskID
Wenn Sie diese Abfrage ausführen, erhalten Sie ein Ergebnis, das in Auszügen in Bild 26.2
dargestellt ist.
 
Search WWH ::




Custom Search