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.