Mysql
 sql >> Database >  >> RDS >> Mysql

Come creare un self join ricorsivo in MySQL

Non esiste un modo reale (almeno che io sappia) per eseguire un join "ricorsivo" in MySQL. Se si dispone di una tale struttura di tabella, la soluzione migliore che conosco è utilizzare le procedure memorizzate per scorrere e "raccogliere" righe correlate e/o creare "percorsi"; sfortunatamente, non puoi unirti ai risultati di una procedura memorizzata, quindi ciò di solito significa far cadere quei dati in una tabella temporanea predeterminata da utilizzare dopo che la procedura è stata eseguita.

In alternativa, puoi analizzare la tabella ricorsiva nel codice per determinarne la "profondità" corrente al fine di comporre la query a livello di codice.