Ted*_* G. 5 sql t-sql sql-server
我陷入了MS SQL SERVER 2012查询.我想要的是在WHERE子句的"IN"语句中的"CASE"运算符中写入多个值,请参阅以下内容:
WHERE [CLIENT] IN (CASE WHEN T.[IS_PHYSICAL] THEN 2421, 2431 ELSE 2422, 2432 END)
Run Code Online (Sandbox Code Playgroud)
这里的问题是在2421年,2431年 - 它们不能用逗号分隔.是否有任何解决方案以其他方式写这个?谢谢.
如果您不在子句中使用case,这会更简单where.像这样的东西:
where (T.[IS_PHYSICAL] = 1 and [client] in (2421, 2431)) or
(T.[IS_PHYSICAL] = 0 and [client] in (2422, 2432))
Run Code Online (Sandbox Code Playgroud)