Databases Reference
In-Depth Information
when ret_2.RQ_Bestellung between 10 and 19 then 10
when ret_2.RQ_Bestellung between 0 and 9 then 0
END AS [Retourenquote]
from
(Select ord.Kunde, Bestellungen, isnull (Retoure,0)Retoure,
isnull (cast(cast(Retoure as numeric)/cast(Bestellungen as numeric) *100 as
DECIMAL (10,2)),0) RQ_Bestellung
from
((SELECT c.riskID Kunde,COUNT (s.orderNo) Bestellungen
FROM [dbo].[iw_sales]s, [dbo].[iw_customer]c
where s.customerNo = c.customerNo
and s.[Type] = 2
group by c.riskID)as ord
FULL OUTER JOIN
(SELECT c.riskID Kunde, count (rh.orderNo) Retoure
FROM [dbo].[iw_return_header]rh, [dbo].[iw_return_line]rl,
[dbo].[iw_customer]c
where rh.customerNo = c.customerNo
and rh.returnNo = rl.returnNo
and rl.type = 2
group by c.riskID) as ret
on ord.Kunde = ret.Kunde))ret_2
Das Ergebnis dieser Abfrage ist eine Liste, in der jeder Kundennummer eines dieser
11 Kennzeichen zugeordnet ist (Bild 19.6).
 Bild 19.6■
Kundencluster nach Retourenquote
Eine Liste ist noch keine Auswertung. Wir müssen das Ganze wie eine virtuelle Datenbank-
tabelle betrachten und diese als Basis einer Auswertung nutzen. Also setzen Sie wieder eine
Klammer um den kompletten Select, vergeben einen weiteren Alias und setzen einen weite-
ren Select darüber.
Mit Select ret_3.Retourenquote, count (ret_3.Kunde) wird die Anzahl der Kun-
den pro Gruppe ermittelt.
Select ret_3.Retourenquote, count (ret_3.Kunde) Kunden
from
(Select ret_2.Kunde,
 
Search WWH ::




Custom Search