jo: SQL: IF funktioniert nicht

Beitrag lesen

Hi.

Das IF() kann - wie bereits gesagt - raus. Es trifft nie zu, weil das Vorfahr-Element auf dass es passen könnte, kein Ergebnismengenbestandteil wird.

Das sieht dann so aus:

SELECT  
node1.categoryname AS res,  
node2.categoryid  
FROM board_category AS node1  
LEFT JOIN board_category AS node2 ON node2.categoryname='Paul W.'  
WHERE  
node1.lft BETWEEN node2.lft AND node2.rgt  
AND node1.level = node2.level+1

Wie gesagt, das wäre Variante 3 gewesen. Nummer eins geht davon aus, dass dir die Kategorien-ID bereits bekannt ist. Woher hast du sonst den categoryname? Wenn du das bisher noch nicht machst, könntest du bei dessen Abfrage gleich die ID ermitteln, und sparst dir nun einen Aufwand.

Categoryname kommt aus der URL.
Die Abfrage ist leider die erste und die einzige Abfrage die die gebraucht wird. Ich habe also nur die Wahl - ein und zwei Queries.
Und ich würde da gerne bei einem bleiben.
Also gibts da keine möglichkeit den Query so zurecht zu biegen?

=/

Bye.