Databases Reference
In-Depth Information
(SELECT c.riskID, min(s.postingDate)firstOrder,
ACHTUNG: Hier das postingDate nehmen!
s.orderNo, s.quantity, s.amount
FROM [dbo].[iw_sales]s,[dbo].[iw_customer]c
where s.customerNo = c.customerNo
and s.type = 2
group by c.riskID, s.orderNo, s.quantity, s.amount)a
group by DATEPART (yyyy,a.firstOrder),DATEPART (mm,a.firstOrder)
order by DATEPART (yyyy,a.firstOrder),DATEPART (mm,a.firstOrder)
Der Select schaut auf dem ersten Blick schlüssig aus. Wenn Sie sich allerdings das Ergebnis
ansehen, stellen Sie fest, dass es pro Monat deutlich mehr Bestellungen als Neukunden gibt
(Bild 11.3).
 Bild 11.3■
Ergebnis mit mehr Bestellungen als
Neukunden
Es gibt Neukunden, die bereits im ersten Monat mehrere Bestellungen aufgeben. Ab der
zweiten Bestellung ist der Neukunde allerdings nicht mehr als Neukunde, sondern bereits
als Bestandskunde zu betrachten. Wir müssen uns deshalb bei der Auswertung darauf kon-
zentrieren, dass wir das erste Bestelldatum ixieren.
Select
DATEPART (yyyy,a.firstOrder) Jahr,
DATEPART (mm,a.firstOrder) Monat,
count (distinct a.riskID)Neukunden,
count (distinct b.orderNo) Bestellungen,
sum (b.quantity) Artikelmenge,
sum (b.amount) Nettosumme
from
(SELECT c.riskID,min(s.postingDate)firstOrder
FROM [dbo].[iw_sales]s,[dbo].[iw_customer]c
where s.customerNo = c.customerNo
group by c.riskID)a,
(SELECT c.riskID, s.postingDate, s.orderNo, s.quantity, s.amount
 
Search WWH ::




Custom Search