Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1573 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Jointure sur une meme table

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL] Jointure sur une meme table

n°2101533
mxf_fly
Posté le 14-09-2011 à 15:56:55  profilanswer
 

Bonjour,
 
Je vais essayer de vous expliquer mon problème clairement.
Disons que j'ai une table avec la structure suivante :
 

Code :
  1. CREATE TABLE FAMILLE (
  2.   id SERIAL,
  3.   nom varchar(100),
  4.   prenom varchar(100),
  5.   parent int,
  6.   PRIMARY KEY (id)
  7. );


 
J'ai donc un principe parent-enfant.
 
Si je veux remonter le parent d'un enfant ma requête serait :

Code :
  1. SELECT *
  2. FROM FAMILLE AS F1
  3. INNER JOIN FAMILLE AS F2 ON F1.parent = F2.id


 
En revanche si je veux remonter tous les parents, grand parent, arrière grand parent etc... jusqu'à ce que l'id parent soit NULL, comment puis-je faire ?
 
Je sais que si je veux remonter sur x générations de plus je rajoute x INNER JOIN FAMILLE et ainsi de suite. Sauf que là je ne sais pas combien de génération il peut y avoir.
Je veux donc que ca s'arrete quand le champ parent égale NULL.
 
Si vous pouvez m'aider ?
 
Merci d'avance

mood
Publicité
Posté le 14-09-2011 à 15:56:55  profilanswer
 

n°2101539
skeye
Posté le 14-09-2011 à 16:22:46  profilanswer
 

Ca n'existe pas sous mysql, la seule solution serait de boucler dans le langage appelant ou de modifier la structure de la table pour obtenir quelque chose d'exploitable plus facilement.
A noter : c'est une des features envisagées pour plus tard, un équivalent du connect by prior d'oracle : http://dev.mysql.com/doc/refman/5. [...] uture.html


---------------
Can't buy what I want because it's free -
n°2101551
Oliiii
Posté le 14-09-2011 à 16:56:50  profilanswer
 

Il y a des moyen de passer a coté du probleme en utilisant une autre colonne, mais les different trucs ont un impact sur la lecture ou sur la mise a jour (en fonctione de ce qu'on choisit).
 
C'est jamais facil de faire du hierarchic dans une db relationelle :)
 
Ce lien a déjà pas mal d'exemples avec des super explications: http://mikehillyer.com/articles/ma [...] -in-mysql/


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Jointure sur une meme table

 

Sujets relatifs
[RECH] WPF Tutorial datagrid/databinding avec Table OraclePython-MySQL
[Ada][SGBD][Gnade][Mysql]Galère avec Gnade.MySQLquel framework pour un backoffice php/mysql en un min de temps ?
Comment me connecter sur le site de zloche.net avec mysql[PHP/MYSQL] Updater la valeur des radio dans une base [Résolu]
Recherche développeur php / mysqlMYSQL : Jointure externe excluant les id présents dans un table
[MySQL] Problème avec Jointure ( et plusieurs COUNT sur même table)[MYSQL] Suppression d'enregistrements avec une jointure de table
Plus de sujets relatifs à : [MySQL] Jointure sur une meme table


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR