Juli 26, 2021, 14:26:35

Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!


Abfrage mit Gruppierung, Min und "entsprechender Ausdruck"

Begonnen von TSaK, Juli 09, 2021, 07:55:15

⏪ vorheriges - nächstes ⏩

TSaK

Guten Morgen zusammen.
Ich stehe gerade auf der Leitung und habe mich extra für mein (vermutlich) kleines Problem hier angemeldet. Ich habe schon die Suchfunktion bemüht, da ich aber nicht genau weiß, wonach ich überhaupt suchen muss, bin ich nicht fündig geworden. Entschuldigt also, wenn das Thema schon einmal behandelt wurde.

Zum Problem:
Ich habe z. B. die stark vereinfachte Tabelle1 gemäß Anhang und möchte eine Abfrage erstellen, die aus einer Gruppierung eines Feldes (hier: Jahr), dem Minimalwert eines weiteren (hier: Datum) und dem diesem Datensatz entsprechenden dritten Feld (hier: ID) besteht.
Ich habe schon den einfacheren Teil der Abfrage (hier: Abfrage1, s. Anhang) erstellt und erhalte schon die korrekten Datensätze. Wie komme ich nun aber an den entsprechenden Eintrag vom dritten Feld?
Im Beispiel erwarte ich also für den ersten Datensatz der Abfrage1 die ID "6" und für den zweiten die ID "3".
Die SQL zur momentanen Abfrage wäre "SELECT Jahr, Min(Datum) AS Datum1 FROM Tabelle1 GROUP BY Jahr"

Vielen Dank für Eure Hilfe!

ebs17

Dein erster Schritt (gezeigte Abfrage) ist korrekt.
Um die weiteren Felder der Tabelle zu bekommen, muss diese Abfrage erneut mit der Tabelle verknüpft werden, hier über die Felder Jahr und Datum(1).
Mit freundlichem Glück Auf!

Eberhard

TSaK

Danke ebs17.

War ja dann doch einfacher wie gedacht und ist auch irgendwie logisch ;-)

Fürs Protokoll: Ich nutze nun die Abfrage "SELECT a.Jahr, a.Datum1, b.ID
FROM (SELECT c.Jahr, Min(c.Datum) AS Datum1 FROM Tabelle1 AS c GROUP BY c.Jahr) AS a INNER JOIN Tabelle1 AS b ON (a.Datum1 = b.Datum) AND (a.Jahr = b.Jahr)" und bin damit glücklich.