View Full Version : SQL - Höchsten Datumswert eines Kunden anzeigen lassen
KingofKning
22-02-17, 11:56
Versteh ich jetzt nicht wie da die Syntax sein soll.
GG 4847
with x as (select akkto, max(akkdn1) Datum from kndauf
group by akkto)
select t01.adkto, Datum
from x join adr01pf t01 on x.akkto = t01.adkto and x.datum = t01.akkdn1
Wenn du nur mit dem Konto verknüpfst, bekommst du halt wieder jeden Satz.
KingofKning
22-02-17, 14:13
with x as (select akkto, max(akkdn1) Datum from kndauf
group by akkto)
select t01.adkto, Datum
from x join adr01pf t01 on x.akkto = t01.adkto and x.datum = t01.akkdn1
Wenn du nur mit dem Konto verknüpfst, bekommst du halt wieder jeden Satz.
Ich habe mir das fast gedacht.
In der Kundenauf steht Kundennummer und Auftragsdatum vom Kunden
1026 22.02.17
1026 10.01.17
1026 01.01.17
8999 22.02.17
8999 01.02.17
In der adr01pf steht nur die Kundennummer und Adresse.
Bei meiner Funktion bekomme jetzt 1026 3 mal angezeigt, aber mit dem Datum 22.02.17.
Vielleicht gibt's den Kunden mehrmals in der Adreßdatei?
SELECT * FROM ADR01PF WHERE ADKTO=1026
Die Dateifolge ist falsch.
Was ist deine Primary Tabelle?
with x as (select akkto, max(akkdn1) Datum from kndauf
group by akkto)
select * from x
liefert dir je akkto das letzte Datum aus KNDAUF.
Somit ist dies wieder deine Primary
with x as (select akkto, max(akkdn1) Datum from kndauf
group by akkto)
select * from x
inner join kndauf k on x.akkto=k.akkto and x.datum=k.akkdn1
hier kannst du dann gerne nochden Kundenstamm anhängen:
with x as (select akkto, max(akkdn1) Datum from kndauf
group by akkto)
select * from x
inner join kndauf k on x.akkto=k.akkto and x.datum=k.akkdn1
inner join adr01pf a on x.akkto = a.adkto
KingofKning
23-02-17, 08:10
Die Dateifolge ist falsch.
Was ist deine Primary Tabelle?
hier kannst du dann gerne nochden Kundenstamm anhängen:
with x as (select akkto, max(akkdn1) Datum from kndauf
group by akkto)
select * from x
inner join kndauf k on x.akkto=k.akkto and x.datum=k.akkdn1
inner join adr01pf a on x.akkto = a.adkto
Genau das war das Problem.
Danke Dir. Dir Problematik ist das ich bei weiteren Dateien die ich noch lesen muß jeweils mehrere Ausprägungen habe wo ich eigentlich auch immer nur den ersten Satz bräuchte.
Das heißt ich müßte da auch eine cte machen.
Muß ich mal prüfen....
GG 4846
... machs dir doch nicht so schwer, wofür gibt es Views!
D*B
Das ändert aber nichts am Problem.
... ne, aber an der Lösung.
KingofKning
23-02-17, 11:02
... ne, aber an der Lösung.
Du glaubst es kaum, aber ich habe es auch gestern mit einer View gelöst, wo ich komischerweise die Anzahl von Sätzen bekomme die ich erwartet habe.
Aber ich will ja noch ein wenig lernen und ein CTE schien mir da ein Lösungsansatz zu sein.
Außerdem eine View bleibt stehen und ich brauchte die Abfrage nur einmal für einen Kollegin damit sie sieht wo sie unterschieliche E-Mail Adressen hinterlegt hat. Das aber nur für Kunden die die letzen 3 Jahre bei uns bestellt haben. (Newsletter)
GG 4846