Opossom: prüfung in MySQL statement mit nodes

Beitrag lesen

Du könntest statt node.text TRUE oder FALSE einsetzen, damit boolean mit boolean verglichen wird. In deinem Fall halte ich jedoch die Verwendung der IF-Funktion für angebrachter und einfacher (in der Anwendung und in der Verständlichkeit des resultierenden Codes). CASE lohnt sich nur, wenn du mehrere WHEN-Ausdrücke gegen einen CASE-Asdruck vergleichen und unterschiedlich reagieren willst.

Control Flow Functions

Lo!

Hi. Danke für die Antwort.
Leider hab ichs mit der IF-Funktion schon versucht. Da bekomm ich genau so wie bei when, neben allen einträgen "blau" bis auf den mit der id die ich gesetzt hab, da steht dann gelb. Eigentlich sollte aber überall wo der Leaf Node die id 8 hat gelb stehen. Mein Code sieht jetzt so aus:

SELECT DISTINCT node.id, node.text, IF (node.lft BETWEEN parent.lft AND parent.rgt AND node.id = 8, "gelb", "blau") AS groesse
FROM post AS node, post AS parent
WHERE node.lft
BETWEEN parent.lft
AND parent.rgt
AND parent.lft = '1'
ORDER BY node.lft

Vlt. hab ich was falsch verstanden jedenfalls krieg ich das nicht so hin wie es sein soll.
Danke MfG Opossom