繁体   English   中英

写一个嵌套的case表达式

[英]Write a nested case expression

我正在尝试编写条件以在case表达式中执行测试。 我已经搜索过,无法找到要使用的正确语法。

CASE WHEN a.amount - b.amount <> 0 
     then (CASE WHEN a.amount - C.amount <> 0 then 'EXCEPTION' end) 
     else 'PASS' end

我猜有语法问题。

CASE 
     WHEN a.amount - b.amount <> 0 then 
     CASE 
         WHEN a.amount - C.amount <> 0 then 'EXCEPTION' 
              ELSE 'PASS'
         end 
     else 'PASS' 
end

要么

您可以使用ANDOR将嵌套的case语句合并为一个。

CASE 
     WHEN (a.amount - b.amount) <> 0 AND (a.amount - C.amount) <> 0 
          then 'EXCEPTION'
     else 'PASS' end

尽管这是有效的SQL,并且可以在每个DBMS中使用,但是MySQL在这里完全是错误的。 我玩过这个表达式,并通过将C.amount (大写c)更改为c.amount (小写c)使其工作。 去搞清楚 :-(

这是一个演示: https : //dbfiddle.uk/?rdbms=mysql_8.0&fiddle=0ff1d0c3010362db5263123dcb9f09ad

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM