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

Como fazer uma auto-junção recursiva no MySQL


Não existe uma maneira real (pelo menos que eu saiba) de fazer uma junção "recursiva" no MySQL. Se você tiver essa estrutura de tabela, a melhor solução que conheço é usar procedimentos armazenados para percorrer e "coletar" linhas relacionadas e/ou construir "caminhos"; infelizmente, você não pode juntar-se aos resultados de um procedimento armazenado, então isso geralmente significa fazer com que ele solte esses dados em uma tabela temporária predeterminada para ser usada após a execução do procedimento.

Como alternativa, você pode analisar a tabela recursiva no código para determinar sua "profundidade" atual para compor a consulta programaticamente.