Hi!
Wie von mir angemerkt ist es viel sinnvoller, gleich die Anzahl der Datensätze abzufragen, oder gleich True oder False:
CASE
WHEN COUNT(*) > 0 THEN 1 -- True ist in MySQL ein Alias für 1
ELSE 0 -- False ist ein Alias für 0
END hasChildren
Das geht noch einfacher: SIGN(COUNT(*)) AS hasChildren
SIGN() liefert von einem Wert das Vorzeichen als -1, 0 oder 1. Negative Werte können bei einem COUNT() nicht auftreten, weswegen -1 nicht vorkommt. 0 liefert 0 und der Rest liefert 1. Aber selbst das SIGN() kann man sich schenken, denn wenn man das Abfrageergebnis 0 und "Wert größer 0" nach boolean castet oder einfach boolesch auswertet, bekommt man schon das gewünschte Ergebnis.
Lo!