Sql 基于CASE语句返回值的条件执行
我想在SQL中实现这一功能(基本上,(3,4,5)中的b=2和c是我想在顶层添加到select语句中的两个条件) 如果a=1,则我希望检查第一个条件,否则应检查第二个条件Sql 基于CASE语句返回值的条件执行,sql,Sql,我想在SQL中实现这一功能(基本上,(3,4,5)中的b=2和c是我想在顶层添加到select语句中的两个条件) 如果a=1,则我希望检查第一个条件,否则应检查第二个条件 CASE WHEN a=1 THEN {AND b=2} ELSE {AND c in (3,4,5)} 总查询太复杂,我无法将整个查询单独保存在THEN子句中。您期望的结果是什么?您可以使用多个when语句来模拟if/else语句……这是用于哪个RDBMS的?请添加一个标记来指定您是在使用mysql、postgr
CASE
WHEN a=1 THEN {AND b=2}
ELSE {AND c in (3,4,5)}
总查询太复杂,我无法将整个查询单独保存在THEN子句中。您期望的结果是什么?您可以使用多个
when
语句来模拟if/else
语句……这是用于哪个RDBMS的?请添加一个标记来指定您是在使用mysql
、postgresql
、sqlserver
、oracle
还是db2
——还是完全使用其他东西。啊。。。看到你的回答,我得到了“为什么我没有想到那一刻”:PGlad我们可以帮忙。
SELECT Stuff
FROM Table
WHERE
SomeCondition
AND
(
(a=1 AND b=2)
OR
((NOT a=1) AND (c in (3,4,5)))
)