Ik heb het volgende probleem:
Een tabel met werknemers(agent):
AgentID(PK), Achternaam, Voornaam
Een tabel met beoordelingen:
BeoordelingID(PK), AgentID(FK), Cijfer, Datum
Om de datum van de laatste beoordeling per werknemer te krijgen gebruik ik de volgende query:
Werkt perfect, maar nu wil ik ook het cijfer van de laatste beoordleing erbij hebben:
Zou je denken, maar hier gaat het mis. Nu krijg ik alle beoordelingen, en niet alleen de laatste! Hoe zou ik dit in Access SQL op kunnen lossen?
Een tabel met werknemers(agent):
AgentID(PK), Achternaam, Voornaam
Een tabel met beoordelingen:
BeoordelingID(PK), AgentID(FK), Cijfer, Datum
Om de datum van de laatste beoordeling per werknemer te krijgen gebruik ik de volgende query:
code:
1
2
3
4
| SELECT a.Achternaam, a.Voornaam, max(b.Datum) FROM Agent a, Beoordeling b WHERE a.AgentID = b.AgentID GROUP BY a.AgentID, a.Achternaam, a.Voornaam; |
Werkt perfect, maar nu wil ik ook het cijfer van de laatste beoordleing erbij hebben:
code:
1
2
3
4
| SELECT a.Achternaam, a.Voornaam, max(b.Datum), b.Cijfer FROM Agent a, Beoordeling b WHERE a.AgentID = b.AgentID GROUP BY a.AgentID, a.Achternaam, a.Voornaam, b.Cijfer; |
Zou je denken, maar hier gaat het mis. Nu krijg ik alle beoordelingen, en niet alleen de laatste! Hoe zou ik dit in Access SQL op kunnen lossen?