Bonjour,
voici un cas dans lequel je n'arrive pas à formuler correctement ma requête :
J'ai une table identité avec nom, prénom... et matricule.
Et une table situation avec matricule, grade, echelon... datevenement.
Dans cette table situation, on retrouve plusieurs lignes avec le même numéro de matricule et des informations liées aux changmeent de situation. Par exemple :
Matricule Grade echelon Datevenement
12 B 5 2004/05/08
12 B 6 2006/06/06
12 B 7 2008/08/08
12 A 8 2010/10/10
...
13 C 3 2000/01/01
13 C 4 2002/04/04
13 C 5 2010/05/05
...
...
Et ainsi de suite.
Je voudrais récupérer la ligne correspondant à la datevenement la plus récente pour chaque matricule.
Donc dans mon exemple, je voudrais le résultat :
12 A 8 2010/10/10
13 C 5 2010/05/05
J'ai bien tenté une requête juste pour le matricule 12 qui ressemble à ca :
En réponse j'ai bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 select * from situation where datevenement = (select max(datevenement) from situation where matricule = 12) and matri = 12;
12 A 8 2010/10/10
Pourtant je n'arrive pas à l'adapter pour qu'elle retourne la ligne correspondant à la datevenement la plus récente pour chaque matricule.
Merci d'avance pour votre aide.
Partager