[MySQL] Jointure sur une même table
Bonjour,
Je vais essayer de vous expliquer mon problème clairement.
Disons que j'ai une table avec la structure suivante :
Code:
1 2 3 4 5 6 7 8
|
CREATE TABLE FAMILLE (
id SERIAL,
nom varchar(100),
prenom varchar(100),
parent int,
PRIMARY KEY (id)
); |
J'ai donc un principe parent-enfant.
Si je veux remonter le parent d'un enfant ma requête serait :
Code:
1 2 3 4
|
SELECT *
FROM FAMILLE AS F1
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