Databases Reference
In-Depth Information
max (cast (RIGHT (c.customerNo,6)as numeric))maxNo,
c.customerNo, salutation, firstname, surname, postcode, city, eMail,
newsletter, birthdate, credit,
p.dunningLevel →
Mahnstufe
FROM[dbo].[iw_customer]c,[dbo].[iw_payment]p
→
Hier die Tabelle anfügen
where c.customerNo = p.customerNo →
join über customerNO
group by riskID, c.customerNo, salutation, firstname, surname,
postcode, city, eMail, newsletter, birthdate, credit,
dunningLevel)a, →
in die Group by-Klausel aufnehmen
(SELECT distinct riskID,
max (cast (RIGHT (customerNo,6)as numeric))maxNo
FROM [dbo].[iw_customer]
group by riskID)b
where a.maxNo = b.maxNo
Nun haben Sie alle Stammdaten mit dem jeweils jüngsten Eintrag bei Mehrfachkonten vor-
liegen (Bild 31.2).
Bild 31.2■
Jüngster Eintrag der Stammdaten
Die nächste Herausforderung besteht darin, diese Daten mit den Daten aus der Kundenwert-
tabelle zu verbinden. Es gibt die Möglichkeit, die Daten direkt aus der angelegten Tabelle zu
holen oder alles zusammen mit einem gemeinsamen Select - ohne Zugrif auf die angelegte
Tabelle - neu zu generieren.
Der einfachste Weg ist die Nutzung der vorhandenen Tabelle. Die Bestell- und Retourenkos-
ten benötigen wir nicht, sie dienen nur dazu, den Nettoertrag zu errechnen. Die Abfrage aus
der Tabelle
customer_value
wird in Klammern gesetzt und als
c
hinten angehängt. Wichtig
ist der
Join
der
riskID
aus dieser Tabelle mit der
riskID
aus der Abfrage
b
.
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, c.Konten, c.Bestellungen, c.Artikel, c.Nettosumme,
c.Retouren,c.Ret_Artikel, c.Ret_Nettowert, c.Nettoertrag, c.Tage,
c.Monate, c.Wert
from
(SELECT distinct riskID,
max (cast (RIGHT (c.customerNo,6)as numeric))maxNo,
c.customerNo, salutation, firstname, surname,
postcode, city, eMail, newsletter, birthdate, credit, p.dunningLevel
FROM[dbo].[iw_customer]c,[dbo].[iw_payment]p
where c.customerNo = p.customerNo
group by riskID, c.customerNo, salutation, firstname, surname,
postcode, city, eMail, newsletter, birthdate, credit,
dunningLevel)a,