SQL Abfrage über zwei Tabellen

cyberbobre

Grünschnabel
Hallo Leute,

ich verzweifel jetzt seit mehreren Tagen bei einer SQL Abfrage.

meine beiden tabellen sehen folgendermaßen aus:

Tabelle Kunden
Kundennummer
Vorname
Nachname
Adresse

Tabelle Besuch
Kundennummer
Datum

Jedesmal wenn ein Kunde zu Besuch kommt, wird in der Tabelle Besuch die Kundennummer und das Datum hinterlegt.

Ich brauche nun eine Abfrage die mir alle Kunden anzeigt und das jüngste Datum an dem sie da waren

meine abfrage:
Code:
SELECT Kunden.*, Besuch.*
FROM Kunden INNER JOIN Besuch ON Kunden.Kundennummer = Besuch.Kundennummer;

führt zu mehrfacheinträgen.
es werden alle kunden mit jedem datum angezeigt. als:

marion tester 01.02.2008
marion tester 01.05.2008
hubert meyer 15.04.2008
hubert meyer 26.06.2008
usw.

ich möchte aber das jeder kunden nur einmal mit dem jüngsten datum angezeigt wird.kann mir da jemand auf die sprünge helfen
 
1. Welches DBMS verwendest du?

2. Schau dir mal die GROUP BY Klausel an. Die wird dir weiterhelfen!
 
Hallo Leute,

ich verzweifel jetzt seit mehreren Tagen bei einer SQL Abfrage.

meine beiden tabellen sehen folgendermaßen aus:

Tabelle Kunden
Kundennummer
Vorname
Nachname
Adresse

Tabelle Besuch
Kundennummer
Datum


ich möchte aber das jeder kunden nur einmal mit dem jüngsten datum angezeigt wird.kann mir da jemand auf die sprünge helfen


Code:
SELECT a.kundennummer, a.name,b.datum
  FROM kunden a, besuch b
  where a.kundennummer=b.kundennummer
  and b.datum=(select max(datum) from besuch where kundennummer=a.kundennummer)


Gruss
 
Zurück