条件执行基于CASE语句返回值的条件

时间:2016-08-04 04:31:43

标签: sql

我想在SQL中实现这个功能(基本上b = 2和c in(3,4,5)是我想要添加到顶级选择语句的两个条件)。

如果a = 1,那么我想要检查第一个条件,否则应该检查第二个条件。

CASE 
  WHEN a=1 THEN {AND b=2}
  ELSE {AND c in (3,4,5)}

对于我来说,总查询过于复杂,无法将整个查询分别保留在THEN子句中。

1 个答案:

答案 0 :(得分:3)

SELECT Stuff
FROM Table
WHERE
SomeCondition
AND
(
     (a=1 AND b=2)
 OR
     ((NOT a=1) AND (c in (3,4,5)))
)