这个错误的解释?

时间:2014-09-03 10:09:39

标签: ms-access-2010 oledb

我有这个错误: 您尝试执行的查询不包含指定表达式“Sales”作为聚合函数的一部分。

我的疑问是:

MyCommand.CommandText = "SELECT Sales, Created_Date FROM tblSales" & _
  "where Year(Created_Date)='" & year & "' and Month(Created_Date)='" & month & "' & _
   "GROUP BY Created_Date"

这是什么意思以及如何解决?

提前致谢!

1 个答案:

答案 0 :(得分:3)

您必须将其添加到组中,或者您需要指定如何聚合Sales。考虑到每个日期可能会获得多行。然后数据库不知道你想要哪一个。所以你必须聚合这些行(例如COUNTSUMMINMAX,..)。

例如,您可以为每个日期采用Max - 销售:

SELECT Max(Sales)AS MaxSales, Created_Date ...

如果将其添加到Group By,它也会起作用,但由于每个日期可以获得多个记录,因此可能产生不同的结果。

SELECT Sales, Created_Date ...
... GROUP BY Sales, Created_Date