3
IN
을 CASE..THEN
에 사용할 수 있습니까?IN 문이 결과 표현식에 CASE THEN 표현식
WHERE
record.field =
CASE
WHEN @flag = 1 THEN a
WHEN @flag = 2 THEN IN (b, c)
END
또는 어떻게 이러한 조건을 다시 작성 하시겠습니까?
IN
을 CASE..THEN
에 사용할 수 있습니까?IN 문이 결과 표현식에 CASE THEN 표현식
WHERE
record.field =
CASE
WHEN @flag = 1 THEN a
WHEN @flag = 2 THEN IN (b, c)
END
또는 어떻게 이러한 조건을 다시 작성 하시겠습니까?
죄송합니다, 지역 :
WHERE
(@flag = 1 AND record.field = a)
OR
(@flag = 2 AND record.field IN (b, c))
을
시도 :
WHERE (@flag = 1 AND record.field = a)
OR (@flag = 2 AND record.field IN (b, c))
이 값에 가입하고 인덱스 사용하려고 더 좋을 수 있습니다
DECLARE @Table (ValueOf int)
INSERT INTO @Table ((ValueOf)
SELECT a WHERE @flag = 1
UNION SELECT b WHERE @flag = 2
UNION SELECT c WHERE @flag = 2
SELECT
....
FROM ... x
INNER JOIN @Table t ON x...=t.ValueOf