Databases Reference
In-Depth Information
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
Join zwischen Unterabfrage und darüber liegendem Select
and va.Anzahl = 1) → Bedingung - nur 1 Eintrag vorhanden
Nun haben wir die Kunden isoliert, die wir für die kommende Auswertung benötigen.
Zunächst benötigen wir aber noch zwei weitere Informationen.
26.2■Nettosumme der Bestellungen
pro Kunde
Für jeden Kunden wird die Nettosumme aller bestellten Artikel auf Basis der riskID berech-
net. Achten Sie darauf, dass Sie in der Tabelle iw_sales den Nettobetrag in der Spalte
amount inden. Das ist aber nur der Nettobetrag für einen Artikel. Wenn mehrere Artikel
bestellt werden, muss man den Nettobetrag der bestellten Artikel mit der Anzahl der bestell-
ten Artikel ( quantity ) multiplizieren.
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
26.3■Nettosumme der Retouren pro Kunde
In gleicher Weise wird für jeden Kunden auf Basis der riskID die Nettosumme aller retour-
nierten Artikel berechnet. In der Tabelle iw_return_line gibt es die Spalte line_amount .
Hier steht der Nettowert aller retournierten Artikel, sodass eine Multiplikation mit der
Anzahl der Artikel nicht notwendig ist - ganz im Gegenteil, es wäre ein Fehler.
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
 
Search WWH ::




Custom Search