SELECT SUM(orders.quantity) AS num, fName, surname
FROM author
INNER JOIN book ON author.aID = book.authorID;

我不断收到错误消息:“您试图执行一个不包含指定表达式"fName"作为聚合函数一部分的查询。我该怎么办?

答案

错误是因为fName包含在SELECT列表,但未包含在GROUP BY子句并且不是聚合函数的一部分(Count(),Min(),Max(),Sum(), ETC。)

您可以通过包含来解决该问题fName在一个GROUP BYsurnameGROUP BY:

SELECT
    fName,
    surname,
    Count(*) AS num_rows
FROM
    author
    INNER JOIN book
    ON author.aID = book.authorID;
GROUP BY
    fName,
    surname

注意我用过Count(*)你想去的地方SUM(orders.quantity)orders不包含在FROM查询的部分,因此您必须先包含它,然后才能Sum()其领域之一。

如果您有可用的 Access,请在查询设计器中构建查询。

来自: stackoverflow.com