我陷入了MS SQL SERVER 2012查询。 我想要的是在WHERE子句的“IN”语句中的“CASE”运算符中写入多个值,请参阅以下内容:
WHERE [CLIENT] IN (CASE WHEN T.[IS_PHYSICAL] THEN 2421, 2431 ELSE 2422, 2432 END)
这里的问题是在2421年,2431年 - 它们不能用逗号分隔。 是否有任何解决方案以其他方式写这个? 感谢。
答案 0 :(得分:5)
如果您不在echo "<option value='$row[Product_Name]'>$row[Product_Name]</option>";
子句中使用case
,这会更简单。像这样:
where
答案 1 :(得分:2)
我使用AND / OR代替案例表达。
WHERE (T.[IS_PHYSICAL] AND [CLIENT] IN (2421, 2431))
OR (NOT T.[IS_PHYSICAL] AND [CLIENT] IN (2422, 2432))
答案 2 :(得分:2)
您可以将其分解为AND和OR的组合。
<beans profile="!prof1 !prof2">
<security:authentication-manager id="authenticationManager">
...
</security:authentication-manager>
</beans>