_thetiger_
Cadet 1st Year
- Registriert
- Sep. 2011
- Beiträge
- 15
Hallo an alle,
ich habe ein Problem mit Access 2010 und einer sich darin befindlichen SQL Abfrage.
Die Tabelle darunter zeigt deutlich vereinfacht welche Daten mir in meiner Tabelle zur Verfügung stehen. Ich will nun für jede Person das Datum herausfinden, zu dem Sie ihren größten Erlös "erwirtschaftet" hat.
[table="width: 500, class: grid"]
[tr]
[td]ID[/td]
[td]Person[/td]
[td]Erlös[/td]
[td]Datum[/td]
[/tr]
[tr]
[td]1[/td]
[td]1[/td]
[td]13€[/td]
[td]22.03.13[/td]
[/tr]
[tr]
[td]2[/td]
[td]1[/td]
[td]15€[/td]
[td]20.01.13[/td]
[/tr]
[tr]
[td]3[/td]
[td]2[/td]
[td]20€[/td]
[td]20.01.12[/td]
[/tr]
[tr]
[td]4[/td]
[td]2[/td]
[td]17€[/td]
[td]01.01.14[/td]
[/tr]
[/table]
Normalerweise würde man das in SQL ja so formulieren:
Das Problem hierbei ist nur dass Access bei SQL-Abfragen mit GROUP BY bei Spalten, nach denen nicht gruppiert wurde (in dem Fall Erlös und Datum), eine Aggregatfunktion verlangt.
Ich habe es schon mit HAVING Erlös= MAX(Erlös) versucht in der Hoffnung dass dann alle Datensätze mit kleineren Erlösen verschwinden, allerdings meckert Access dann wieder über die fehlende Aggregatfunktion...
Wie schaffe ich es nun mein oben genanntes Anliegen umzusetzen, ohne auf z.B. Unterabfragen auszuweichen, hat vielleicht irgendjemand eine Idee?
Gruß
_thetiger_
ich habe ein Problem mit Access 2010 und einer sich darin befindlichen SQL Abfrage.
Die Tabelle darunter zeigt deutlich vereinfacht welche Daten mir in meiner Tabelle zur Verfügung stehen. Ich will nun für jede Person das Datum herausfinden, zu dem Sie ihren größten Erlös "erwirtschaftet" hat.
[table="width: 500, class: grid"]
[tr]
[td]ID[/td]
[td]Person[/td]
[td]Erlös[/td]
[td]Datum[/td]
[/tr]
[tr]
[td]1[/td]
[td]1[/td]
[td]13€[/td]
[td]22.03.13[/td]
[/tr]
[tr]
[td]2[/td]
[td]1[/td]
[td]15€[/td]
[td]20.01.13[/td]
[/tr]
[tr]
[td]3[/td]
[td]2[/td]
[td]20€[/td]
[td]20.01.12[/td]
[/tr]
[tr]
[td]4[/td]
[td]2[/td]
[td]17€[/td]
[td]01.01.14[/td]
[/tr]
[/table]
Normalerweise würde man das in SQL ja so formulieren:
Code:
SELECT Person, MAX(Erlös), Datum
FROM Tabelle
GROUP BY Person;
Das Problem hierbei ist nur dass Access bei SQL-Abfragen mit GROUP BY bei Spalten, nach denen nicht gruppiert wurde (in dem Fall Erlös und Datum), eine Aggregatfunktion verlangt.
Ich habe es schon mit HAVING Erlös= MAX(Erlös) versucht in der Hoffnung dass dann alle Datensätze mit kleineren Erlösen verschwinden, allerdings meckert Access dann wieder über die fehlende Aggregatfunktion...
Wie schaffe ich es nun mein oben genanntes Anliegen umzusetzen, ohne auf z.B. Unterabfragen auszuweichen, hat vielleicht irgendjemand eine Idee?
Gruß
_thetiger_