我陷入了 MS SQL SERVER 2012 查询。 我想要的是在 WHERE 子句的“IN”语句中的“CASE”运算符中写入多个值,请参阅以下内容:
WHERE [CLIENT] IN (CASE WHEN T.[IS_PHYSICAL] THEN 2421, 2431 ELSE 2422, 2432 END)
这里的问题是在 2421, 2431 中 - 它们不能用逗号分隔。 有什么解决方案可以用其他方式写这个吗? 谢谢。
最佳答案
如果您不在 where
子句中使用 case
,这会更简单。像这样的事情:
where (T.[IS_PHYSICAL] = 1 and [client] in (2421, 2431)) or
(T.[IS_PHYSICAL] = 0 and [client] in (2422, 2432))
关于sql - "CASE WHEN"语句中的 "IN"运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36132655/