我试图在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?
答案 0 :(得分:3)
切换条件的顺序:
CASE WHEN col1 like A AND SUM(col2) = 0 THEN calcuation2
WHEN coc1 like A THEN calculation1
END AS casecolumn
如果首先满足LIKE
和SUM
条件,则会触发该条件。否则,CASE
表达式将向下流向更宽松的标准,以便再次匹配。
如果你想要"计算"如果LIKE
和SUM
条件都为真,则应用的两个条件都是正确的,然后在确定该条件的值时使用它。