Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Recuperar hierarquia pai-filho de uma tabela mysql auto-referenciada


O MySQL não suporta consultas recursivas, portanto, se um filho pode ter filhos, não há como formular tal consulta. Caso contrário, esta consulta deve retornar as linhas na ordem que você precisa:
SELECT * FROM tablename
ORDER BY
  CASE WHEN parent_id=0 THEN id ELSE parent_id END,
  id

Por favor, veja violino aqui . O truque é ordenar as linhas por id se for pai ou por parent_id se for filho, e então por id .