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
Verwenden von Javascript zum Implementieren eines...
Inhaltsverzeichnis 1: Kennwortfreie Anmeldekonfig...
· 【Szenenbeschreibung】 Nach HTTP1.1 unterstützt d...
In diesem Artikel wird die Verwendung und Install...
Problembeschreibung Nach der Installation von Qt5...
Schritt 1: Den aktuellen Kernel anzeigen rew $ un...
Randbemerkung <br />Wenn Sie nichts über HTM...
Beginnen wir die Diskussion mit einer häufig gest...
Die Funktion wurde schon vor langer Zeit implemen...
Inhaltsverzeichnis Einführung Schritt 1 Schritt 2...
In diesem Artikel finden Sie das Installations- u...
Closures sind eines der traditionellen Features r...
Mysql5.5 Dual-Maschine-Hot-Standby Durchführung I...
Inhaltsverzeichnis 1. Mehrere Syntaxen von Insert...
Der MGR unserer Bank wird Ende des Jahres eingefü...