IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Comment faire un JOIN récursif d'une table sur elle-même?


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2008
    Messages : 14
    Points : 15
    Points
    15
    Par défaut Comment faire un JOIN récursif d'une table sur elle-même?
    Bonjour,

    Ma question est simple et s'expose facilement par l'exemple suivant. Malheureusement, je n'ai pu en trouver la réponse...

    Soit une table nommée Personnes_Pays ou «PP» pour faire court et contenant les enregistrements suivants :

    +----+------------+-----------+
    | id | Personnes | Pays |
    +----+------------+-----------+
    | 1 | John | Canada |
    | 2 | Pierre | Canada |
    | 3 | Ingrid | Suède |
    | 4 | Joseph | Canada |
    | 5 | Pablo | Chili |
    | 6 | Marisol | Chili |
    | 7 | Didier | France |
    +----+------------+-----------+

    Comment arriver à générer la table suivante :
    +--------------------+-------------+
    | Tous | Pays |
    +--------------------+-------------+
    | John, Joseph, Pierre | Canada |
    | Marisol, Pablo | Chili |
    | Didier | France |
    | Ingrid | Suède |
    +--------------------+-------------+

    Autrement dit, comment arriver à concaténer toutes les personnes d'un pays, pour chaque pays présent dans la table?

    J'ai essayé avec un Join mais, je ne peux avoir qu'un maximum de deux noms concaténés, pas la totalité. Évidemment, le nombre de personnes pour un pays donné est variable et l'algorythme doit pouvoir les extraire tous.

    Merci d'avance!

  2. #2
    Membre expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Points : 3 950
    Points
    3 950
    Par défaut
    Saluton,
    GROUP_CONCAT est ton amie

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2008
    Messages : 14
    Points : 15
    Points
    15
    Par défaut
    En effet, ça fonctionne!

    Merci pour le tuyau!

    Pierre C.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. jointure d'une table sur elle même
    Par fred! dans le forum Requêtes
    Réponses: 8
    Dernier message: 25/06/2012, 12h30
  2. [débutant] Cayenne; relation d'une table sur elle même.
    Par hhenry dans le forum Persistance des données
    Réponses: 0
    Dernier message: 22/08/2009, 15h05
  3. Relation d'une table sur elle-même ?
    Par TallyHo dans le forum Requêtes
    Réponses: 2
    Dernier message: 30/10/2007, 00h14
  4. Probleme jointure d'une table sur elle même
    Par fred64 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 18/05/2006, 15h01
  5. [SQL2K] delete cascade d'une table sur elle même
    Par StormimOn dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/04/2006, 16h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo