Databases Reference
In-Depth Information
Das Ergebnis ist ein numerischer Wert, bei dem nun mit der Funktion MAX jeweils der
höchste Wert ausgegeben werden kann.
max (cast (RIGHT (customerNo,6)as numeric))
Mit dem folgenden Select wird zu jeder riskID die höchste Kundennummer ausgegeben:
SELECT distinct riskID,
max (cast (RIGHT (customerNo,6)as numeric))maxNo
FROM[dbo].[iw_customer]
group by riskID
order by riskID
Die höchste Kundennummer haben wir mit maxNo bezeichnet. Wir müssen bei der Selec-
tion der Daten also maxNo aufnehmen. Zusätzlich benötigen wir auch die customerNo in
ihrem ursprünglichen Zustand, da wir über diese später die Mahnstufe mit hinzunehmen.
Der Select sieht nun wie folgt aus:
SELECT distinct riskID,
max (cast (RIGHT (customerNo,6)as numeric))maxNo,
customerNo, salutation, firstname, surname,
postcode, city, eMail, newsletter, birthdate, credit
FROM[dbo].[iw_customer]
group by riskID, customerNo, salutation, firstname, surname,
postcode, city, eMail, newsletter, birthdate, credit
order by riskID
Im Ergebnis hat sich noch nicht allzu viel geändert, die Mehrfachdatensätze sind immer
noch vorhanden. Wir benötigen den oberen Select, um unabhängig von den abweichenden
Einträgen in einzelnen Spalten die höchste Kundennummer zu identiizieren. Es werden
nur die Datensätze ausgegeben, die jeweils die höchste Kundennummer aufweisen:
Select a.riskID, a.customerNo, a.salutation, a.firstname, a.surname,
a.postcode, a.city, a.eMail, a.newsletter,a.birthdate, a.credit
from
(SELECT distinct riskID,
max (cast (RIGHT (customerNo,6)as numeric))maxNo,
customerNo, salutation, firstname, surname,
postcode, city, eMail, newsletter, birthdate, credit
FROM[dbo].[iw_customer]
group by riskID, customerNo, salutation, firstname, surname,
postcode, city, eMail, newsletter, birthdate, credit)a,
(SELECT distinct riskID,
max (cast (RIGHT (customerNo,6)as numeric))maxNo
FROM[dbo].[iw_customer]
group by riskID)b
where a.maxNo = b.maxNo
Um die Stammdaten zu komplettieren, nehmen Sie noch die Mahnstufe aus der Tabelle
iw_payment hinzu. Diese Abfrage sollten Sie in den Select a mit einbauen:
Select a.riskID, a.customerNo, a.salutation, a.firstname, a.surname,
a.postcode, a.city, a.eMail, a.newsletter, a.birthdate, a.credit,
a.dunningLevel → Mahnstufe
from
(SELECT distinct riskID,
 
Search WWH ::




Custom Search