Select tordu
Posté : 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:
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
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:
Résultat souhaité: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
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é.1 Dupond René 5 2002-01-01 2002-12-31
2 Durand Paul 2 2003-01-01 2003-12-31
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