Mysql
 sql >> Base de données >  >> RDS >> Mysql

requête mysql pour obtenir le parent racine

Essayez cette requête

Cela fonctionne sur l'hypothèse que l'identifiant du parent est inférieur à celui de l'enfant car les enregistrements sont triés par ordre décroissant en tant que table dérivée avant la requête réelle.

select 
  @parent:=parent_id as prnt, title, id
from
  (select @parent:=8 ) a
join 
  (select * from tbl order by id desc) b
where 
  @parent=id

Violon

| PRNT | TITLE | ID |
|------|-------|----|
|    7 |     q |  8 |
|    6 |     a |  7 |
|    0 |     d |  6 |

Remarque La meilleure façon de le faire est d'utiliser une procédure stockée.