SQL SQL: Andere Spalte von Datensatz mit max() Filter

Squicky

Lt. Commander
Registriert
Sep. 2002
Beiträge
1.433
Hallo

Hier ein konstruiertes (erfundenes) Beispiel um meine SQL Frage leichter erklären zu können:

Es gibt eine Tabelle (Personen) mit vier Spalten (Nachname, Vorname, Geburtsjahr, Personalnummer).
Name und Vorname sind Zeichenketten und Geburtsjahr und Personalnummer sind Integer.

Es wird zu jedem Nachnamen ein Vorname gesucht. (... GROUP BY Nachname ...)
Es soll aber der Vorname von der Person sein, die das Größe Geburtsjahr hat. Wenn es mehrere Personen mit gleichem Nachnamen und gleichem max. Geburtsjahr gibt, dann soll der Vorname von der Person mit der der größte Personalnummer genommen werden.

Kann man dies mit einem (verschachtelten) Select Befehl machen?

Benutzt wird Microsoft SQL 2014.

Danke
 
_
 
Zuletzt bearbeitet:
Öhm kurz mal aus dem Bauch:
PHP:
SELECT nachname, (SELECT vorname FROM personen WHERE nachname=p1.nachname ORDER BY geburstjahr DESC LIMIT 1) AS vorname FROM personen AS p1 GROUP BY nachname

ich teste gleich mal, ob das so geht, ich meine aber schon
 
Zuletzt bearbeitet:
Zurück
Oben