Ja ne nä is klar nä? Wenn man sich das Ergebnis mal anschaut, und evtl mal die Zeile "AND k2.ident IS NULL" auskommentiert, siehst man, dass der Fehler durch die Findung mehrerer Kategorien passiert. Somit ist meein toller Ansatz Mist. Mit Hilfe von SubQuerys konnte ich das Problem jetzt lösen:
Code:
SELECT *,
(SELECT k2.kat FROM personzukat z2, kategorie k2
WHERE ((z2.zukat=k2.ident) AND (z2.zuperson=p.ident))
AND (k2.kat LIKE '%chor%') LIMIT 1
) AS isbad
FROM person p
INNER JOIN personzukat z
ON z.zuperson = p.ident
INNER JOIN kategorie k1
ON k1.ident = z.zukat
WHERE LOWER(k1.kat) LIKE '%jugend%'
HAVING (ISNULL(isbad));
Vielleicht gibt es noch einen eleganteren Weg. Wenn ja, dann bitte posten. Ansonsten danke für die Hilfe.