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

Erstellen Sie eine Treeview-Schleifenabfrage

So wie Sie den Baum jetzt gespeichert haben, ist es nicht möglich, den gesamten Baum in einer reinen SQL-Abfrage zu erhalten. Sie müssen eine Schleife in einer anderen Sprache schreiben (C#, gespeicherte Prozedur, die Schleifen unterstützt, ...), um den Baum abzurufen.

Dies ist ein netter Artikel, der beschreibt, wie Sie mit Ihrer Methode zum Speichern des Baums arbeiten können (einschließlich des Holens des Baums und des Entfernens von Elementen aus dem Baum).

Noch interessanter ist, dass dieser Artikel auch eine Möglichkeit beschreibt, Bäume in einer Datenbanktabelle zu speichern, die funktioniert ermöglichen das Abrufen des gesamten Baums in einer einzigen Abfrage. Es heißt Tree-Traversal vorbestellen . Sie können es nachschlagen, um weitere Informationen zu erhalten. Ich habe eine C#-Implementierung gefunden . Es erfordert etwas mehr Logik als die Art und Weise, wie Sie es jetzt verwenden, ist aber für alle außer den kleinsten Bäumen leistungsfähiger.