这是我想要运行的ODBC SQL语句。 ODBC是连接类型,查询是针对Excel电子表格的命名范围运行的。我可以使用最好的SQL语言,所有先前的查询都按预期工作。
select
IIF([Account Name]='Account1','Special Account','Not Special') as AccountType,
IIF([Recipe]='Recipe1','American','Other') as FoodType,
sum([Unpaid])
from MyData
Group by [Account Name]
以下是我收到的错误消息。
“您尝试执行的查询不包含指定表达式作为聚合函数的一部分。”
我知道这意味着我必须将[Recipe]添加到Group中,因此Group by将会是这样的。
Group by [Account Name],[Recipe]
如果我进行此更改,则SQL语句会运行,但我不能通过这两个字段获得输出Group。这将返回我不能使用但不能使用的结果。我真的只想按[帐户名]分组。
我该怎么做?此查询中需要IIF语句以返回所需的结果。
答案 0 :(得分:0)
如果它不在聚合函数中,则需要在一个组中。 SUM()是您拥有的唯一聚合函数 - 其他函数按组进行。
select
IIF([Account Name]='Account1','Special Account','Not Special') as AccountType,
IIF([Recipe]='Recipe1','American','Other') as FoodType,
sum([Unpaid])
from MyData
Group by IIF([Account Name]='Account1','Special Account','Not Special'),
IIF([Recipe]='Recipe1','American','Other')