三列中的 SQL SUM 不起作用



>我有一个结合了两个查询的表达式,效果很好

SELECT FinalIncoming.ID, FinalIncoming.ProductCode, FinalIncoming.ProductName, 
  FinalIncoming.StandardCost, FinalIncoming.OnHand, FinalOutgoiing.Incoming, 
  FinalIncoming.Outgoing
FROM FinalIncoming INNER JOIN FinalOutgoiing ON FinalIncoming.ID = FinalOutgoiing.ID;

但是每当我尝试用以下方法总结最后三列时:

Sum([FinalIncoming.OnHand]+[FinalIncoming.Outgoing]-[FinalOutgoiing.Incoming])

访问出现错误,指出Your query does not include the specified expression 'ID' as part of an aggregate function.

有谁知道我在这里做错了什么?我尝试以不同的方式和别名重写 SUM 表达式,但它出现了相同的错误。

仅供参考:我知道Outgoiing查询拼写错误。

错误消息中的关键字是"作为聚合的一部分"

ACCESS SQL 要求在使用分组依据函数时,聚合中涉及所有列。

所以你的查询将是:

SELECT FinalIncoming.ID, FinalIncoming.ProductCode, FinalIncoming.ProductName, 
      first(FinalIncoming.StandardCost) as firstCostValue, SUM(FinalIncoming.OnHand + FinalOutgoiing.Incoming - FinalIncoming.Outgoing) AS something
    FROM FinalIncoming INNER JOIN FinalOutgoiing ON FinalIncoming.ID = FinalOutgoiing.ID
GROUP BY FinalIncoming.ID, FinalIncoming.ProductCode, FinalIncoming.ProductName;

最新更新