Holen Sie sich Root-parent-child-in der Hierarchischen Tabelle
Ich habe eine Tabelle mit hierarchischen Daten in es, die Struktur geht so:
ID ParentId
---- ----------
1 NULL
2 1
3 2
4 2
5 3
6 5
Wenn ich übergeben Sie die Knoten-Id, die ich möchte zu bekommen, die meisten top-Knoten-Id/details durch das Durchlaufen durch alle seine Eltern in SQL.
Ich habe versucht, CTE, die ich irgendwie nicht bekommen kann die richtige Kombination. Allerdings habe ich diese arbeiten als eine Funktion, aber es ist so langsam, dass ich Stelle diese Frage.
In dem obigen Beispiel, wenn ich den pass 6, ich würde wollen, haben die meisten top-dh 1. Durch das Durchlaufen durch 6 => 5 => 3 => 2 => [1] (Ergebnis)
Dank im Voraus für Eure Hilfe.
- Was ist CTE bedeutet?
- CTE ist Common Table Expression.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bitte versuchen:
@TechDo Antwort meint der niedrigsten ID der Eltern. Wenn Sie nicht möchten, verlassen Sie sich auf diesen dann die obige Abfrage Sortieren Sie nach der Tiefe.
Können Sie versuchen, diese Abfrage zu meinem Freund, um alle ids:
und diese Abfrage geben, das endgültige Ergebnis:
SQL Fiddle