Hallo Vinzenz,
Anmerkungen zu meinem Code:
Vielen Dank für die Anmerkungen. Da sind viele nützliche Tips drin, die ich mir merken werde.
b) Ermitteln wir nun den gesamten Baum unter einem gegebenen Knoten
(gemäß Tutorial):
Ich hätte fast gesagt, dass es wunderbar funktioniert, wenn ich nicht justament ein falsches Ergebnis verzeichnet hätte.
Es wurde mir ein Child genannt, das definitiv ein Nicht-Child ist.
In dieser Query:
SELECT node.payload FROM 000node parent INNER JOIN 000node node ON node.lft BETWEEN parent.lft AND parent.rgt WHERE parent.payload = 4303 ORDER BY node.lft
erhalte ich als Ergebnis:
4303
5290
Aber die ID 5290 ist definitiv kein Child von 4303.
- Möchtest Du mit der Einschränkung root_id = 2010 die Daten auf das
Jahr 2010 einschränken? Was ist mit Threads, die über einen Jahreswechsel»» gehen?
Da sollte ich wirklich nochmal drüber nachdenken, hm?
Wie die Verknüpfung zur Tabelle thread erfolgen kann, das kann ich Dir
nicht sagen, weil Du diese Tabelle nicht vorgestellt hast und auch nicht
erklärt hast, welche Informationen aus dieser Tabelle Du zeigen willst.
Aber ich habe gesagt, wie sie mit der Node-Tabelle verknüpft ist. Payload ist gleich der ID in der Thread-Tabelle. Aber das krieg ich selber über einen Join hin.
Mehr beunruhigt mich, dass ich ein falsches Ergebnis vorliegen habe.
Wie kann ich das anhand der Tabelle per Sichtung verifizieren?
Freundlichen Gruß, KlausStein