Mysql
 sql >> Database >  >> RDS >> Mysql

query mysql per ottenere il genitore radice

Prova questa query

Funziona partendo dal presupposto che l'id del genitore sia minore del figlio poiché i record vengono ordinati in modo decrescente come tabella derivata prima della query effettiva.

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

Fiddle

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

Nota Il modo migliore per farlo è utilizzare un processo memorizzato.