[英]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
要么
您可以使用AND
或OR
将嵌套的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.