Databases Reference
In-Depth Information
Der komplette Select sieht folgendermaßen aus:
SELECT row_number() over (partition by bd.riskID order by bd.Datum) as lfdNr,
Laufende Nummer
bd.riskID, bd.Datum, bd.Bestellung, bd.Artikelmenge,
bd.Gesamtsumme,rd.Anzahl_R_Artikel, rd.R_Nettowert
from
(Select a.riskID, a.Datum, a.Bestellung, a.Artikelmenge, a.Gesamtsumme
from
(SELECT c.riskID,s.postingDate Datum,s.orderNo Bestellung,
cast (sum (s.quantity)as DECIMAL(10,0))Artikelmenge,
cast (sum (s.amount)as DECIMAL(10,2))Gesamtsumme
from [dbo].[iw_sales]s,[dbo].[iw_customer]c
where s.customerNo = c.customerNo
and s.type = 2 → ohne Frachtkosten
and s.quantity > 0
group by c.riskID,s.postingDate,s.orderNo)a) bd
Das sind die Bestelldaten
Left OUTER JOIN
(SELECT c.riskID IRID,s.postingDate Datum,
rh.orderNo Bestellung,
cast(sum( rl.quantity)as DECIMAL(10,0)) Anzahl_R_Artikel,
cast(sum (rl.line_amount)as DECIMAL(10,2))R_Nettowert
FROM [dbo].[iw_sales]s,[dbo].[iw_customer]c,[dbo].[iw_return_line]rl,[dbo].
[iw_return_header]rh
where s.type = 2
and s.orderNo = rh.orderNo
and rh.returnNo = rl.returnNo
and s.IWAN = rl.IWAN → Artikelnummer hinzu!
and rl.type = 2
and s.customerNo = c.customerNo
group by c.riskID, s.postingDate, rh.orderNo)as rd
Das sind die Retourendaten
on bd.Bestellung = rd.Bestellung
where exists
Es werden nur Fälle mit mehr als einer Bestellung verwendet
(select cv.riskID from [dbo].[customer_value] cv
where bd.riskID = cv.riskID
and cv.Bestellungen > 1)
Das Ergebnis dieser Selektion ist in der folgenden Tabelle verdeutlicht (Bild 16.1). Jeder
Kunde ist gekennzeichnet, damit Sie die Ordnung in diesem Ergebnis leicht erkennen kön-
nen. Die laufende Nummer ( lfdNr ) zeigt an, wie viele Käufe der Kunde getätigt hat. Die
Einkäufe sind nach Datum geordnet.
 
Search WWH ::




Custom Search