Ich habe eine Tabelle Benutzer, in denen ich ein Feld "ID" und ein anderes Feld ist "Eltern-ID". Auch habe ich Zielfeld in der Benutzertabelle erwartet.Multilevel-Benutzer in der Datenbanktabelle
Ich habe eine Liste von Benutzern bis zur 8. Ebene Hierarchie. Wo A ist Elternteil von B und B ist Elternteil von C und so weiter.
beispiels
A level 0
|
B level 1
|
c level 2
Wenn ich jetzt für Benutzer A. suchen möchte ich die alle Unter Benutzer unter Verwendung von SQL-Abfrage ‚Ziel erwartet‘ erhalten. dh wenn I = ID verwenden ID eines dann kann ich das erwartete Ziel von A, B sehen, C usw.
Wenn expected_targets für A, B und C werden in 1000, 500, 200 jeweils die Ausgabe sein sollte:
id parent_id expected_target
A_id 1000
B_id A_id 500
C_id B_id 200
Ist diese Datenbankstruktur "gesperrt"? Ich kann mir keinen performanten Weg vorstellen, dies mit Standard-SQL zu tun (7-Stufen-Self-Joins ist nicht etwas, was ich vorschlagen würde) –
Es sieht aus wie die Art von Problem, dass der [ltree] (http: //www.postgresql. org/docs/current/static/ltree.html) Modul soll lösen –
@JoachimIsaksson was ist falsch mit 7 selbst verbindet .. es ist völlig in Ordnung, wenn die Anzahl der Ebenen ist garantiert;) aber ich verstehe nicht, was ist das * erwartetes Ziel * - sollten die Ergebnisse in Zeilen oder Spalten sein? – Aprillion