Sql 在ms access查询中使用iif时出错

Sql 在ms access查询中使用iif时出错,sql,ms-access,Sql,Ms Access,我正试图在MS Access中启动此查询 SELECT file_number, IIF(invoice_type='Spent on Coding',SUM(CINT(invoice_amount)), 0) as CodingExpense FROM invoice GROUP BY file_number 我得到了这个错误 函数参数列表中出现错误:“=”无法识别。不能 解析查询文本 我尝试用SWITCH替换IIF,但没有成功。 我的查询出了什么问题?如何更正?好的,你需要反过

我正试图在MS Access中启动此查询

SELECT file_number, 
    IIF(invoice_type='Spent on Coding',SUM(CINT(invoice_amount)), 0) as CodingExpense 
FROM invoice
GROUP BY file_number
我得到了这个错误

函数参数列表中出现错误:“=”无法识别。不能 解析查询文本

我尝试用
SWITCH
替换
IIF
,但没有成功。

我的查询出了什么问题?如何更正?

好的,你需要反过来:

Sum(IIF(invoice_type="Spent on Coding",CINT(invoice_amount), 0)) as CodingExpense
不过,我建议:

Round(Sum(IIF(invoice_type="Spent on Coding",invoice_amount, 0)),0) as CodingExpense

好吧,你需要另一种方式:

Sum(IIF(invoice_type="Spent on Coding",CINT(invoice_amount), 0)) as CodingExpense
不过,我建议:

Round(Sum(IIF(invoice_type="Spent on Coding",invoice_amount, 0)),0) as CodingExpense

这在VS 2010服务器资源管理器查询窗格中给出了相同的错误。但当我按continue时,它会填充结果。有趣的是…摆脱CInt,看看你是否仍然有问题,你可以总是圆的结果。这给我在VS2010服务器浏览器查询窗格相同的错误。但当我按continue时,它会填充结果。有趣的是…摆脱CInt,看看你是否仍然有问题,你总是可以对结果进行取整。