Usando a consulta do MySQL para percorrer as linhas para criar uma árvore recursiva
Eu tenho uma tabela de lista de materiais que é configurada assim:
item - pai
O resultado final quando exibo a lista de materiais é que ela é exibida assim:
item 1 - parent 0
item 2 - parent 1
item 3 - parent 1
O resultado final também pode ser multi nível como este:
item 3 - parent 0
item 4 - parent 3
item 76 - parent 3
E isso pode continuar ad infinitum:
item 76 - parent 0
item 46 - parent 76
item 46 - parent 0
item 25 - parent 46
No momento, eu só obtenho 1 nível do banco de dados:
SELECT * FROM bom WHERE parentId = $itemId (shorthand)
Ou puxe todas as linhas da mesa e use minha função recursiva para classificar apenas as que eu preciso, mas isso é obviamente ineficiente, já que eu posso precisar apenas de 10 linhas, mas eu puxo 10.000 registros. A saída da função recursiva irá apenas criar uma árvore como esta:
item 1
item 2
item 3
item 4
item 76
item 46
item 25
Tudo o que sei é que estou começando no item 1. O item 5 poderia ter um pai de 11; eles não precisam ir sequencialmente. Eu quero pegar todos os ramos da criança na árvore. Como eu poderia fazer essa consulta no mysql?