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

Wie schreibe ich eine MYSQL-Abfrage, die Kinder zurückgibt, die unter Eltern verschachtelt sind?

In reinem SQL ist dies nicht möglich.

SQL soll mit relationalen Daten arbeiten, nicht mit Bäumen (hierarchische Daten).

Sie können einen Baum in einem SQL-Schema darstellen, aber Sie werden nicht in der Lage sein, einen Baum zu erzeugen, wie Sie es beabsichtigen.

Die einzige Möglichkeit besteht darin, ein brauchbares Ergebnis zu erzielen, indem Sie so viele Joins erstellen, wie Sie Level speichern.

Ihr aktuelles Schema unterstützt möglicherweise mehrere Ebenen, es wird jedoch sehr schwierig sein, mehr als eine oder zwei Ebenen zu verwalten.

Sie könnten an Nested-Set-Modell interessiert sein oder Hierarchische Daten in mysql verwalten

Es gibt einige Implementierungen des Nested Set wie diese mit Lehre 2 zu arbeiten