HintergrundWenn Sie eine Funktion entwickeln, die Kommentaren ähnelt, müssen Sie bei Bedarf eine Teilmenge aller Kommentare abfragen. Die Implementierungsmethoden sind in verschiedenen Datenbanken unterschiedlich. Dieser Artikel verwendet die MySQL-Datenbank, Version 8.0
brauchenSuchen Sie nach den Kindern und Enkelkindern, deren Name Zhang San ist. Die PID ist die übergeordnete ID des aktuellen Datensatzes. Beispielsweise ist die PID von Zhang Sans Sohn die ID von Zhang San und so weiter. EinführungBerechnen Sie das kumulierte Ergebnis von 1 bis 100. WITH RECURSIVE t(n) AS ( //t ist unsere Ergebnistabelle, n ist das Feld, Sie können nur ein Feld angeben, um anzuzeigen, dass kein Feld angegeben ist VALUES (1) //Beginn der Rekursion, an diesem Punkt kann verstanden werden, dass das Feld n der t-Tabelle nur einen Datensatz 1 hat UNION ALLE WÄHLE n+1 AUS t, WO n < 100 /*Das Ergebnis ist hier 2. Zu diesem Zeitpunkt hat das Feld n der Tabelle t zwei Datensätze, 1 und 2. * 3 * ... * 100 */ ) SELECT sum(n) FROM t; //Summenfeld n Vater betet für SohnWITH RECURSIVE temp AS ( // Nennen Sie die Ergebnistabelle temp SELECT * FROM resource r WHERE r.name = '张三' // Den Datensatz der übergeordneten ID abfragen. Zu diesem Zeitpunkt ist dieser Datensatz bereits in der temporären Tabelle vorhanden, wie in Abbildung 1-1 dargestellt UNION ALLE /*Beachten Sie zu diesem Zeitpunkt, dass das folgende SQL die letzten beiden Datensätze im erwarteten Ergebnis sind (mit Ausnahme des ersten). *Beachten Sie die Bedingung nach where: Wir verwenden die ID des einzigen Datensatzes in der temporären Tabelle, um die PID in der Ressourcentabelle zuzuordnen *Die zweite Datensatz-ID von temp wird nur dann abgeglichen, wenn der erste Datensatz von temp nicht mit der PID in der Ressourcentabelle übereinstimmt */ WÄHLEN Sie r.* VON Ressource r,temp t, WO t.id = r.pid )Wählen Sie * aus Temp Sohn ermittelt gegen VaterMIT rekursiver Temperatur ALS ( SELECT * FROM resource r WHERE r.name = 'Ressourcenname' UNION ALLE //Es ist bekannt, dass es sich um eine Teilmenge handelt, daher müssen wir die Ressourcen-ID über die temporäre PID abgleichen WÄHLEN Sie r.* VON Ressource r,temp t, WO t.pid = r.id )Wählen Sie * aus Temp Dies ist das Ende dieses Artikels über die Methode zum rekursiven Abfragen von Parent-Child-Sets in MySql8. Weitere relevante Inhalte zum rekursiven Abfragen von Parent-Child-Sets in MySql8 finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: HTML ist die zentrale Grundlage für die Entwicklung von WEB-Standards
>>: Vue Uniapp realisiert den Segmentierungseffekt
Da ich heute MySQL installieren wollte, bin ich a...
Wir gehen davon aus, dass Sie ein linuxer sind, a...
Ein Datenvolumencontainer ist ein Container, der ...
Inhaltsverzeichnis Hafenbezogene Konzepte: Bezieh...
1. Laden Sie zunächst die entsprechende Datenbank...
Wenn wir in CentOS7 MySQL installieren, wird Mari...
Der HTTP-Statuscode ist ein dreistelliger Code, d...
Rendern Definieren Sie das Skelett, schreiben Sie...
1. Bereiten Sie die Docker-Umgebung vor 2. Suchen...
Überblick Volume ist die Abstraktion und Virtuali...
Oftmals werden Sie auf einen <a>-Tag-Stil s...
Kürzlich habe ich die Funktion zum Umbenennen ges...
Eine At-Regel ist eine Deklaration, die Anweisung...
Vorwort Für die Berechtigungen von Dateien oder V...
CSS Sprite, auch bekannt als CSS Sprite, ist eine...