par
Cham » 09 déc. 2005, 19:07
Bonjour,
J'ai une table Utilisateur (NumUtil, Nom, Prenom) et une table de relation UtilisateurContrat (NumUtil, NumContrat, DateDebContrat, DateFinContrat).
NumContrat est une référence vers une autre table, Contrat.
Dans la table UtilisateurContrat, les 4 champs forment une clé unique. Je ne veux pas ajouter un identifiant unique pour cette table, cela ne m'apporterai rien.
Un utilisateur peut avoir plusieurs contrats.
Je souhaite savoir si il est possible en une seule requête d'afficher la liste des utilisateurs et de leur dernier contrat, en me basant sur le champ DateDebContrat, et sans doublon.
Ex:
Table Utilisateur
1 Dupond René
2 Durand Paul
3 Dupont Pierre
Table UtilisateurContrat
1 4 2000-01-01 2000-12-31
1 9 2001-01-01 2001-12-31
1 5 2002-01-01 2002-12-31 <== Enrgt à récupérer pour Util 1
2 1 2001-01-01 2001-12-31
2 4 2002-01-01 2002-12-31
2 2 2003-01-01 2003-12-31 <== Enrgt à récupérer pour Util 2
Résultat souhaité:
1 Dupond René 5 2002-01-01 2002-12-31
2 Durand Paul 2 2003-01-01 2003-12-31
Mon problème est que je n'arrive pas à récupérer juste une ligne de la table UtilisateurContrat, je ne peux pas utiliser la fonction Max car le numéro de contrat n'est pas ordonné.
Je souhaite récupérer de la table UtilisateurContrat l'enregistrement dont le champ DateDebContrat est le plus récent.
Et j'ai besoin de tous les champs de la table Utilisateur et tous les champs de la table UtilisateurContrat.
Merci pour votre aide,
Sylvie