0

我试图找出数据库某个表中所有项目的总成本,成本存储在另一个表中,但产品代码提供链接,所以这不是问题。

但是,当我尝试访问以显示每个项目的产品代码和描述时,我的问题就出现了。

这是我的代码:

   SELECT [Product Code], Description, Sum([Purchase Price]) AS Total
    FROM [products/stock] AS p 
     INNER JOIN [Stock Conversion Items] AS s 
     ON p.[Product Code] = s.[Result PC]
   WHERE s.CutID = [Enter your Cut ID here]
   GROUP BY s.SCID;

如您所见,我选择了要显示的数据,加入表格,使用 [在此处输入您的剪辑 ID] 从用户那里获取信息,然后按 SCID(表示单个项目的键)对信息进行分组。

这是错误消息:

错误信息

任何帮助将不胜感激,
谢谢

4

3 回答 3

2

根据定义,如果您使用聚合查询,那么您在没有聚合函数的情况下使用的所有列(如 SUM、COUNT 等)都必须在您的 group by 子句中。它不必是相反的方式,因此您可以在您的组中拥有列,而无需在其他任何地方使用它们。

  SELECT [Product Code], Description, Sum([Purchase Price]) AS Total 
    FROM [products/stock] AS p  
     INNER JOIN [Stock Conversion Items] AS s  
     ON p.[Product Code] = s.[Result PC] 
   WHERE s.CutID = [Enter your Cut ID here] 
   GROUP BY S.SCID, [Product Code], Description; 
于 2012-10-19T08:06:04.263 回答
1

[Product Code]和 分组Description

   SELECT [Product Code], Description, Sum([Purchase Price]) AS Total
    FROM [products/stock] AS p 
     INNER JOIN [Stock Conversion Items] AS s 
     ON p.[Product Code] = s.[Result PC]
   WHERE s.CutID = [Enter your Cut ID here]
   GROUP BY [Product Code], Description
于 2012-10-19T08:02:21.987 回答
1

使用聚合函数时,例如SUM,您将需要GROUP BY所有其他选定的列。所以,你GROUP BY应该是:

GROUP BY S.[SCID], [Product Code], Description;
于 2012-10-19T08:03:50.083 回答