Databases Reference
In-Depth Information
case when ret_2.RQ_Bestellung >= 100 then 100
when ret_2.RQ_Bestellung between 90 and 99 then 90
when ret_2.RQ_Bestellung between 80 and 89 then 80
when ret_2.RQ_Bestellung between 70 and 79 then 70
when ret_2.RQ_Bestellung between 60 and 69 then 60
when ret_2.RQ_Bestellung between 50 and 59 then 50
when ret_2.RQ_Bestellung between 40 and 49 then 40
when ret_2.RQ_Bestellung between 30 and 39 then 30
when ret_2.RQ_Bestellung between 20 and 29 then 20
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)ret_3
group by ret_3.Retourenquote
order by ret_3.Retourenquote
Wenn Sie diesen Select laufen lassen, bekommen Sie folgendes Ergebnis (Bild 19.7).
Retourenquote
Kunden
NULL
586
0
42.293
10
2.120
20
4.311
30
5.521
40
3.620
50
12.559
60
7.681
70
4.405
80
3.615
90
562
 Bild 19.7■
Ergebnis: Anzahl der Kunden pro Cluster
100
20.404
Warum gibt es hier NULL -Ergebnisse? Normalerweise sollte jeder Kunde einer der Gruppen
zugeordnet sein. Es gibt aber 586 Fälle, die keiner Gruppe zugeordnet sind. Grund hierfür
ist, dass wir die Kommastellen nicht beachtet haben!
Search WWH ::




Custom Search