我已经四处寻找但未找到答案。是否可以在访问SQL查询中组合Round,Sum和isnull?我一直在尝试编写以下查询:
ROUND(sum(iif(isnull(amount,0,amount))),2) as Amount
然而,我对上述或其他变化没有成功。我的SQL存在缺陷吗?
如果我的SQL有缺陷,如果有人能够为我提供正确的语法,我将不胜感激。
答案 0 :(得分:2)
在Access ISNULL()
中接受一个参数并返回一个布尔值,指示传递的表达式是否为null。在您的查询中,您有3个参数传递给ISNULL
:
isnull(amount,0,amount)
要拆开它,首先需要检查金额是否为空:
IIF(ISNULL(Amount), 0, Amount)
然后添加SUM
SUM(IIF(ISNULL(Amount), 0, Amount))
最后添加ROUND
ROUND(SUM(IIF(ISNULL(Amount), 0, Amount)), 2) AS Amount