Übergeordnete Elemente in einer MySQL-Tabelle mit Rekursion finden
In einem Datenbankschema ist die Einrichtung hierarchischer Beziehungen üblich. Bei der Abfrage solcher Daten ist es erforderlich, nicht nur bestimmte Datensätze, sondern auch deren hierarchische Verbindungen abzurufen. Dieser Artikel befasst sich mit der Aufgabe, mit einer einzigen Abfrage alle übergeordneten Elemente eines Datensatzes in einer MySQL-Tabelle zu finden.
Problemstellung
Gegeben sei eine Tabelle mit den Spalten ID und TITLE , CONTROLLER, METHOD und PARENT_ID, finden Sie mit einer einzigen SQL alle Eltern eines Datensatzes, dessen TITEL „Kategorien“ lautet Abfrage.
Gewünschte Ausgabe
Die Ausgabe sollte Folgendes anzeigen Spalten:
und sollte das abrufen Datensätze:
id | title | controller | method | url | parent_id |
---|---|---|---|---|---|
3 | Modules | admin | modules | (NULL) | 0 |
17 | User Modules | modules | user_module | (NULL) | 3 |
31 | Categories | categories | category | (NULL) | 17 |
Lösung
Um die gewünschte Ausgabe zu erzielen, müssen wir die rekursiven Abfragefunktionen von MySQL nutzen. Hier ist die SQL-Abfrage, die wir verwenden können:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Lassen Sie uns diese Abfrage aufschlüsseln:
Durch Ausführung Mit dieser Abfrage können wir alle übergeordneten Elemente des Datensatzes mit TITLE als „Kategorien“ in einem einzigen Datenbankaufruf abrufen.
Das obige ist der detaillierte Inhalt vonWie kann ich mit einer einzigen rekursiven Abfrage alle übergeordneten Datensätze in einer MySQL-Tabelle finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!