CASE postgreSQL中的AND语句指的是类似的条件

时间:2017-02-27 10:47:30

标签: sql postgresql

我试图在CASE语句中使用AND语句,两次引用相同的东西:

CASE 
WHEN col1 like A then col_A-(col_B/col_C)
WHEN col1 like A AND sum(col2)=0 then col_D 
end as casecolumn

但是我发现只有第一个WHEN语句影响了列,即只实现了calculate1,我怎样才能确保两个计算都应用于casecolumn?

1 个答案:

答案 0 :(得分:3)

切换条件的顺序:

CASE WHEN col1 like A AND SUM(col2) = 0 THEN calcuation2
     WHEN coc1 like A THEN calculation1
END AS casecolumn

如果首先满足LIKESUM条件,则会触发该条件。否则,CASE表达式将向下流向更宽松的标准,以便再次匹配。

如果你想要"计算"如果LIKESUM条件都为真,则应用的两个条件都是正确的,然后在确定该条件的值时使用它。