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

Administration MySQL Discussion :

liste des descendants dans une table hiérarchique


Sujet :

Administration MySQL

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut liste des descendants dans une table hiérarchique
    Bonjour,

    j'ai une table de hiérarchique dont voici la structure sql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE TABLE `sujets` (
      `id` int(9) unsigned NOT NULL auto_increment,
      `nom` varchar(50) NOT NULL,
      `parent` int(9) unsigned default NULL,
      `description` text NOT NULL,
      `uri` varchar(50) NOT NULL,
      PRIMARY KEY  (`id`),
      KEY `parent` (`parent`,`uri`),
      FULLTEXT KEY `nom` (`nom`,`description`,`uri`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=52 ;
    Le champ 'parent' référence le champ 'id' de cette même table.

    J'ai défini un enregistrement racine comme étant un enregistrement dont le parent est NULL. Et je voudrais connaître l'ensemble des enregistrements qui ont pour ancêtre (et non seulement pour parent direct) un élément quelconque (ici racine, mais ça peut ne pas l'être). Attention, il n'y a pas qu'un enregistrement racine. J'ai actuellement six enregistrements racines, mais ce chiffre peut varier.

    Aidez-moi car je ne vois pas comment faire de la récursion en SQL pour aller chercher tous les enfants.

    Et en annexe, j'utilise une base MySQL 5.1 depuis quelques jours alors que je n'ai pas travaillé avant sur MySQL depuis la v4.0. Est-ce que les clés étrangères fonctionnent correctement maintenant ?

    En vous remerciant d'avance,

    Olivier

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Merci, j'ai du louper cette page lorsque j'ai consulté le site avant de poster mon message. Désolé.

    Bon, ben, je vais pas chômer aujourd'hui ... :-/

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 572
    Points : 341
    Points
    341
    Par défaut
    Bonjour,

    Même question : j'ai une table PID,ID,LABEL,LEVEL. Chaque ligne est un élément d'une hiérarchie parent-enfant (ou manager-employé), le niveau 0 étant le boss.
    Je cherche à écrire une requête qui me récupère tous les subordonnés d'un élément. La doc référencée plus haut concerne des arbres à intervalles et non à niveaux, ce qui ne fonctionne pas dans mon cas. Merci de votre aide,

    a+, =)
    -=Clement=-

    Configuration :
    SQL-Server 2005

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2008
    Messages
    572
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 572
    Points : 341
    Points
    341
    Par défaut
    Bonjour,

    Il semblerait qu'un article réponde à ma question :
    http://www.webinade.com/web-developm...-relationshipsJe n'ai pas testé la requête présentée en solution mais ça devrait remplir l'objectif désiré à savoir d'obtenir tous les enregistrements d'une table se situant sous un enregistrement donnée.

    a+, =)
    -=Clement=-

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

Discussions similaires

  1. Liste des champs dans une table
    Par Gado2600 dans le forum Modélisation
    Réponses: 2
    Dernier message: 20/10/2014, 12h50
  2. Réponses: 1
    Dernier message: 18/04/2008, 14h20
  3. Obtenir la liste des doublons dans une table SAS
    Par marie mouse dans le forum SAS Base
    Réponses: 2
    Dernier message: 05/12/2007, 15h33
  4. Réponses: 2
    Dernier message: 03/12/2007, 09h57
  5. [MySQL] Liste deroulante et inscription des valeurs dans une table
    Par stefon dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 24/11/2006, 15h31

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