【发布时间】:2023-03-27 21:29:01
【问题描述】:
这是我试图从中删除冗余数学运算的 Oracle 查询:
选择名称,
CASE
when nvl(num1,0) + nvl(num2,0) - nvl(num3,0) > 0
THEN nvl(num1,0) + nvl(num2,0) - nvl(num3,0)
ELSE 0
END
as result,
.... from ....
上面的总结怎么不重复?
“结果”应包含 - 上述表达式的值 if > 0
- 0 if the value of expression is <= 0.
【问题讨论】:
-
您确定这实际上是导致查询出现问题的原因吗?将 THEN 更改为 1 而不是总和,看看它是否真的有所作为。否则,您将白费力气地进行所有这些努力