Bonjour,
J'ai un problème qui me parait simple mais sur lequel je butte bêtement (je n'ai pas trouvé de solution sur le forum).
J'ai une base (jointe au message) avec deux tables liées entre elles par une relation de type 1-n.
* La première table (jeunes) contient l'identité d'individus (Nom, Prenom, Sexe, clef d'index).
* La seconde table contient le parcours scolaire de chaque individu (nom de l'établissement, date d'arrivée, date de sortie, commentaires...).
Juste que là, c'est assez simple.
Mon objectif est de faire une requête dont l'objectif est de donner pour chaque individu le dernier établissement (en fonction de la date d'arrivée) mais ma tentative me sort tous les établissement pour tous les individus (et du coup, dans ma requete "requete_jeunes2"), j'ai autant de fois chaque individu qu'il y a d'établissement associés.
Comment n'extraire que le dernier établissement de chaque individu?
Par avance merci,
YoF
[Résolu] Requête sur deux tables liées avec relation (1-n)
Modérateur : Vilains modOOs
Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
-
YoF
- Fraîchement OOthentifié
- Messages : 8
- Inscription : 14 juin 2011 09:52
[Résolu] Requête sur deux tables liées avec relation (1-n)
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par YoF le 17 juin 2011 08:30, modifié 1 fois.
OpenOffice 3.2 sous Windows XP SP3
-
jeanmimi
- Grand Maître de l'OOffice

- Messages : 17219
- Inscription : 03 mars 2006 16:02
- Localisation : Venise verte
Re: Requete sur deux tables liées avec relation (1-n)
Bonjour,
Un filtre sur la date d'arrivée dans la requête ?Comment n'extraire que le dernier établissement de chaque individu ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 25.8.4 (x64)(23 février 2026)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
-
YoF
- Fraîchement OOthentifié
- Messages : 8
- Inscription : 14 juin 2011 09:52
Re: Requete sur deux tables liées avec relation (1-n)
Cette solution ne marche que si pour toutes les personnes, le dernier établissement est associé à la même date.
Or ce n'est pas le cas toujours le cas.
Dans l'exemple ici, certains étaient en établissement jusqu'en 2009 et d'autres jusqu'en 2010.
Si on filtre sur 2009, on obtient uniquement le nom de l'établissement des individus pour 2009 ce qui n'est pas forcément le dernier établissement fréquenté... (comme sur ta capture).
Si on filtre sur 2010, on obtient uniquement les individus scolarisés en 2010 (et on "loupe" ceux qui n'étaient plus scolarisés en 2010).
Merci tout de même!
Or ce n'est pas le cas toujours le cas.
Dans l'exemple ici, certains étaient en établissement jusqu'en 2009 et d'autres jusqu'en 2010.
Si on filtre sur 2009, on obtient uniquement le nom de l'établissement des individus pour 2009 ce qui n'est pas forcément le dernier établissement fréquenté... (comme sur ta capture).
Si on filtre sur 2010, on obtient uniquement les individus scolarisés en 2010 (et on "loupe" ceux qui n'étaient plus scolarisés en 2010).
Merci tout de même!
OpenOffice 3.2 sous Windows XP SP3
-
spYre
- InconditiOOnnel

- Messages : 888
- Inscription : 29 oct. 2008 19:02
- Localisation : Liège, Belgique
Re: Requete sur deux tables liées avec relation (1-n)
Bonjour YoF,
Cela est possible en utilisant une requête intermédiaire renvoyant la date la plus récente pour chaque élève :
Et pour supprimer la requête intermédiaire (plus intuitif en mode sql qu'en mode ébauche) :
Cordialement.
Cela est possible en utilisant une requête intermédiaire renvoyant la date la plus récente pour chaque élève :
Code : Tout sélectionner
SELECT MAX( "Parcours"."Arrivée" ) AS "Dernière arrivée", "Jeunes"."ID" AS "JID"
FROM "Parcours", "Jeunes"
WHERE "Parcours"."Ref_jeune" = "Jeunes"."ID"
GROUP BY "Jeunes"."ID"Code : Tout sélectionner
SELECT "Jeunes"."Nom", "Jeunes"."Prenom", "P1"."Etablissement", "P1"."Arrivée"
FROM "Parcours" AS "P1", "Jeunes"
WHERE "P1"."Ref_jeune" = "Jeunes"."ID" AND "P1"."Arrivée" = ( SELECT MAX( "P2"."Arrivée" ) FROM "Parcours" AS "P2" WHERE "P2"."Ref_jeune" = "Jeunes"."ID" GROUP BY "Jeunes"."ID" )
ORDER BY "Jeunes"."Nom" ASC, "Jeunes"."Prenom" ASCVous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 3.3.4 + Report Builder
Windows 7 / Windows XP sp3
Ubuntu 11.10 / LMDE
Windows 7 / Windows XP sp3
Ubuntu 11.10 / LMDE
-
YoF
- Fraîchement OOthentifié
- Messages : 8
- Inscription : 14 juin 2011 09:52
Re: Requete sur deux tables liées avec relation (1-n)
Ça alors!!!
Ça a l'air de marcher (je vais vérifier ça ce soir ou demain avant d'indiquer [RESOLU])...
En revanche, je n'ai pas tout compris
(mais je pense que c'est parce que je ne maitrise pas encore les fonctions comme MAX, GROUPE...).
En tout cas, la réponse ne semblait pas aussi simple! Merci pour ta solution!!!
YoF
Ça a l'air de marcher (je vais vérifier ça ce soir ou demain avant d'indiquer [RESOLU])...
En revanche, je n'ai pas tout compris
En tout cas, la réponse ne semblait pas aussi simple! Merci pour ta solution!!!
YoF
OpenOffice 3.2 sous Windows XP SP3