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

criar consulta de loop de visualização em árvore


Da forma como você armazenou a árvore agora, não é possível obter a árvore inteira em uma consulta SQL pura. Você precisa escrever um loop em alguma outra linguagem (C#, procedimento armazenado que suporte loops, ...) para buscar a árvore.

Isso é um bom artigo que descreve como trabalhar com sua maneira de armazenar a árvore (incluindo buscar a árvore e remover itens da árvore).

Ainda mais interessante, esse artigo também descreve uma maneira de armazenar árvores em uma tabela de banco de dados que faz permitem buscar a árvore inteira em uma única consulta. Chama-se transferência de árvore de pré-encomenda . Você pode procurá-lo para obter mais informações. Encontrei uma implementação C# . Envolve um pouco mais de lógica do que a maneira que você está usando agora, mas é mais eficiente para todas as árvores, exceto as menores.