sql >> Databáze >  >> RDS >> Mysql

dotaz mysql pro získání kořenového rodiče

Zkuste tento dotaz

Funguje za předpokladu, že id rodiče jsou menší než podřízené, protože záznamy jsou před skutečným dotazem řazeny sestupně jako odvozená tabulka.

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 |

Poznámka Nejlepší způsob je použít uložený proc..




  1. Obnova databáze MySQL InnoDB

  2. Použití sqldf a RPostgreSQL společně

  3. SQL:Vyberte klíče, které neexistují v jedné tabulce

  4. Zápis hebrejštiny do mySql pomocí JAVA