Entiende el código de forma correcta previamente a utilizarlo a tu proyecto y si ttienes algo que aportar puedes comentarlo.
Solución:
El error es porque fName
está incluido en el SELECT
lista, pero no está incluido en una GROUP BY
cláusula y no es parte de una función agregada (Count()
, Min()
, Max()
, Sum()
etc.)
Puede solucionar ese problema incluyendo fName
en un GROUP BY
. Pero entonces te enfrentarás al mismo problema con surname
. Así que pon ambos en el GROUP BY
:
SELECT
fName,
surname,
Count(*) AS num_rows
FROM
author
INNER JOIN book
ON author.aID = book.authorID;
GROUP BY
fName,
surname
Nota que usé Count(*)
donde querías SUM(orders.quantity)
. Sin embargo, orders
no está incluido en el FROM
sección de su consulta, por lo que debe incluirla antes de poder Sum()
uno de sus campos.
Si tiene acceso disponible, cree la consulta en el diseñador de consultas. Puede ayudarlo a comprender qué funciones son posibles y aplicar la sintaxis correcta de Access SQL.
Tuve un problema similar en una consulta de MS-Access y lo resolví cambiando mi equivalente fName
a una “Expresión” (a diferencia de “Agrupar por” o “Suma”). Siempre que todos mis campos fueran “Expresión”, el generador de consultas de Access no requería ningún Group By
cláusula al final.
Eres capaz de sustentar nuestro ensayo añadiendo un comentario y valorándolo te lo agradecemos.