Databases Reference
In-Depth Information
Trainingsaufgabe: Lebensdauer
Bilden Sie zur Übung weitere Gruppen mit anderen Auteilungen, jeweils auf
Tages-, Monats- und Jahresbasis.
■
14.6■Die Aktivität (Customer Activity)
Ergänzend zur Lifetime wollen wir nun noch die Aktivitätsdaten der Kunden hinzufügen.
Das sind die bereits bekannten Daten, die Sie aus dem KPI-Bericht und dem Kundenmonitor
kennen. Wir werden den Select für diese Daten Schritt für Schritt zusammenbauen.
14.6.1■Bestelldaten
Als Kundennummer übernehmen wir die eindeutige
riskID
aus der Tabelle
iw_customer
.
Die Bestelldaten pro Kunde stammen aus der Tabelle
iw_sales
.
SELECT c.riskID,count(distinct s.customerNo)Konten,
count (distinct s.orderNo)Bestellungen, sum (s.quantity)Artikel,
sum (s.amount *s.quantity)Nettosumme
FROM [dbo].[iw_customer]c,[dbo].[iw_sales]s
where c.customerNo = s.customerNo
group by c.riskID
14.6.2■Retourendaten
Wir benötigen zusätzlich die Retourendaten, die wir der Tabelle
iw_return_line
entneh-
men. Diese Tabelle müssen wir mit einem
OUTER JOIN
verbinden, da es auch Kunden ohne
Retouren gibt. In diesem Fall benötigen wir einen
LEFT OUTER JOIN
, da sich in den ersten
Tabellen die Informationen zu allen Kunden und in der letzten Tabelle nur die Informatio-
nen zu einem Teil der Kunden beinden.
Gejoint wird über die
customerNo
.
SELECT c.riskID,count(distinct s.customerNo)Konten,
count (distinct s.orderNo)Bestellungen, sum (s.quantity)Artikel,
sum (s.amount *s.quantity)Nettosumme,
count (distinct rl.returnNo)Retouren, sum (rl.quantity)Ret_Artikel,
sum (rl.line_amount)Ret_Nettowert
FROM [dbo].[iw_customer]c,[dbo].[iw_sales]s
left outer join
[dbo].[iw_return_line]rl
on s.customerNo = rl.customerNo
where c.customerNo = s.customerNo
group by c.riskID