Hallo liebe Forumgemeinde,
ich habe die letzten 2 Stunden damit verbracht nach Lösungen für mein Problem zu rechercheren - leider jedoch erfolglos. Ich bin mir aber sicher, dass ihr mir weiterhelfen könnt. Folgender Sachverhalt.
Ich habe eine Tabelle/Abfrage namens [Auslastungsdaten]. Hier sind all meine notwendigen Daten vorhanden: z.B. [Schluessel], [AuslID], ...., [BetragInEuro], .....
Nun möchte ich eine Top3-Abfrage erstellen in der die Top3-Datensätze (nach [BetragInEuro]) je [Schlüssel] zurückgegeben werden.
Beispiel:
Auslastungsdaten
Schluessel AuslID BetragInEuro
AAA 458 850
BBB 758 650
AAA 235 1050
AAA 135 897
CCC 123 235
AAA 655 1200
......
Ausgabe
AAA 655 1200
AAA 235 1050
AAA 135 897
........
Ich hoffe das Beispiel ist anschaulich genug !!!!
Vielen Dank im voraus für eure Hilfe.
Grüße,
Hockmock
Mit der Unterstellung, dass AuslID eine eindeutige ID in der Tabelle ist:
SELECT
T.Schluessel,
T.AuslID,
T.BetragInEuro
FROM
Auslastungsdaten AS T
WHERE
T.AuslID IN
(
SELECT TOP 3
X.AuslID
FROM
Auslastungsdaten AS X
WHERE
X.Schluessel = T.Schluessel
ORDER BY
X.BetragInEuro DESC
)
MfGA
ebs
HAllo,
danke für die schnelle Antwort. Ich muss aber doch nochmals etwas laiernhaft nachfragen.
Was setze ich für T. und was für X. ein??
Grüße,
Hockmock
Sorry, das sind Tabellenaliase und müssen noch jeweils im FROM-Teil der Teilabfragen definiert werden.
Das ist inzwischen oben ergänzt. Bitte noch einmal schauen.
MfGA
ebs
Hallo ebs,
genial!!!! vielen dank - es funzt!!!!
Grüße,
Hockmock