sql >> Base de Datos >  >> RDS >> Mysql

Recuperar la jerarquía padre-hijo de una tabla mysql autorreferenciada

MySQL no admite consultas recursivas, por lo que si un niño puede tener hijos, no hay forma de formular dicha consulta. De lo contrario, esta consulta debería devolver las filas en el orden que necesita:

SELECT * FROM tablename
ORDER BY
  CASE WHEN parent_id=0 THEN id ELSE parent_id END,
  id

Consulte fiddle aquí . El truco es ordenar filas por id si es un padre o por parent_id si es un niño, y luego por id .