Ich bekomme Syntaxfehler beim Versuch, die Abfrage unten auszuführen, aber ich würde gerne wissen, ob es möglich ist, so etwas auszuführen? So gibt es einen CASE
Ausdruck innerhalb der IN
. Folgendes ist nicht wirklich meine Frage, also kann es ein bisschen dumm aussehen, aber es ist nur zum Beispiel.WHERE Spalte IN CASE Typ WHEN
SELECT *
FROM `table`
WHERE `category` IN
CASE `type`
WHEN 'a' THEN ('CAT1','CAT2','CAT3')
WHEN 'b' ('CAT4')
ELSE ('undefined','n/a')
END
ORDER BY `category`
Vielen Dank im Voraus.
Es ist im Allgemeinen viel besser und/oder anstelle von CASE in ON und WHERE-Klauseln zu verwenden. Siehe JohnHCs Antwort! – jarlh