Einen wunderschönen gunten Morgen :)
Ich versuche mittels einem SQL Befehl posts mit 2 verschiedene Bedingungen aus einer db auszulesen. 1. damit der ganze Baum angezeigt wird, und 2. will ich eine zusätzliche Spalte wo blau oder gelb drinnen steht jeh nach dem ob der Post zum richtigen node gehört oder nicht.
Mein Code schaut zur Zeit so aus:
SELECT DISTINCT node.id, node.text,
case node.text when node.lft BETWEEN parent.lft AND parent.rgt AND node.id = 8 then "gelb" else "blau" end
FROM post AS node, post AS parent
WHERE node.lft
BETWEEN parent.lft
AND parent.rgt
AND parent.lft = '1'
ORDER BY node.lft
Leider setzt er überall blau hin außer beim Post mit der id 8 es sollte aber bei allen posts die damit über lft und rgt verkettet sind gelb stehen.
Wenn ich die case Bedingung jedoch in ein eigenes SELECT Statement einfüge und den rest um alle anderen Posts auch anzuzeigen weg lösche dann funktionierts... Ich weiß leider nicht mehr weiter. Ich hab schon versucht die case Bedingung nach dem FROM einzubauen damit er mit node und parent richtig umgeht das funktioniert leider nicht weil ich jedes Mal einen falschen Syntax bekomme.
Ich bin für jede Hilfe dankbar. MfG das Opossom