Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Überprüfen des Werts im n-Tiefenbaum?

Wenn verschachtelte Sätze keine Option sind, weiß ich Folgendes:

  • Wenn die Daten so geordnet sind, dass Kinder eines Elternteils immer nach seinem Elternteil folgen, können Sie dies mit einer Datenbankabfrage über alle Daten lösen, indem Sie versteckte Knoten in der Ausgabe überspringen.

Dies funktioniert auch mit einem sortierten verschachtelten Satz, das Prinzip wurde in dieser Antwort beschrieben Die Algorithmen zum Abrufen der Tiefe funktionieren jedoch nicht, und ich würde einen rekursiver Iterator das in der Lage ist, versteckte Elemente zu entfernen.

Auch wenn die Daten nicht geordnet sind, können Sie aus der (unsortierten) Abfrage aller Zeilen eine Baumstruktur erstellen, wie in die Antwort auf Verschachteltes Array. Die dritte Ebene verschwindet . Es ist keine Rekursion erforderlich und Sie erhalten eine Struktur, die Sie dann einfach ausgeben können. Ich hätte das für <ul>/<li> behandeln sollen Ausgabe im HTML-Stil auch in einer anderen Antwort.