1
아래 쿼리를 실행하려고 할 때 구문 오류가 발생하지만이를 실행할 수 있는지 알고 싶습니다. 따라서 IN
에는 CASE
이라는 표현이 있습니다. 다음은 실제로 내 쿼리가 아니기 때문에 약간 어리석은 것처럼 보일 수 있지만 예를 들어 있습니다.where where IN CASE type 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`
미리 감사드립니다.
그것은 일반적으로 더 나은 ON 및 조항에 AND/OR 대신 CASE의 사용에있어 시도 할 수 있습니다. JohnHC의 대답을보십시오! – jarlh