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

come ottengo un risultato ricorsivo interrogando una tabella autoreferenziale in mysql?

Non otterrai direttamente un risultato ricorsivo da MySQL. C'è stata una discussione simile di recente:è forse possibile con alcuni RDBMS che utilizzano procedure memorizzate ecc., ma non con SQL pronto all'uso (vedi Come posso ottenere gli ID degli antenati per una profondità di ricorsione arbitraria in una query SQL? ).

Cosa faccio invece in casi simili:Ricevi tutti i commenti senza genitori. Quindi, per ogni commento, ottieni i suoi figli (se memorizzi la "profondità" di ogni commento puoi ottenere tutti questi figli e tutti i figli dei livelli successivi con una query SQL). Conserva i bambini nel posto appropriato nella tua struttura ad albero, ripeti.

Se hai bisogno di un livello più basso, dovrai condividere del codice, spiegare la struttura dei dati, cosa hai provato finora ecc., questo è solo l'approccio generale.