Ayuda en la “cláusula GROUP BY” error
-
13-09-2019 - |
Pregunta
Wish alguien me puede ayudar con este error "Columna 'Sales.No_' no es válido en la lista de selección, ya que no está contenida en una función de agregado o de la cláusula GROUP BY." ... Pasé unos días para entender este error, pero no pudo :( Mi consulta: -
SELECT SH.[No_], SH.[Sell-to Customer No_], SH.[Sell-to Contact No_],
SH.[Sell-to Customer Template Code], MAX (A.[Version No_])
FROM [Sales] AS SH
LEFT JOIN [Sales Archive] A ON (SH.[Document Type] = A.[Document Type]
AND SH.[No_]=A.[No_]
AND SH.[Doc_ No_ Occurrence]=A.[Doc_ No_ Occurrence])
WHERE (SH.[Document Type]='0' and SH.[Order]='1')
Solución
La función "MAX" requiere un grupo de por si tiene una columnas no agregadas. Por lo que tendrá que añadir un grupo de SH. [N _] ....
También he reformateado su consulta para que pueda leerlo más fácil -Espero que está bien -
select SH.[No_]
, SH.[Sell-to Customer No_]
, SH.[Sell-to Contact No_]
, SH.[Sell-to Customer Template Code]
, MAX (A.[Version No_])
from [Sales] AS SH
LEFT JOIN [Sales Archive] A ON
(SH.[Document Type] = A.[Document Type]
AND SH.[No_]=A.[No_]
AND SH.[Doc_ No_ Occurrence]=A.[Doc_ No_ Occurrence]
)
where (SH.[Document Type]='0' and SH.[Order]='1')
group by SH.[No_]
, SH.[Sell-to Customer No_]
, SH.[Sell-to Contact No_]
, SH.[Sell-to Customer Template Code]
Otros consejos
Es porque usted ha utilizado una función de agregado (MAX), por lo que las restantes columnas seleccionadas también debe utilizar las funciones de agregado o en una cláusula group by. por ejemplo,
select SH.[No_],SH.[Sell-to Customer No_],SH.[Sell-to Contact No_],
SH.[Sell-to Customer Template Code],MAX (A.[Version No_])
from [Sales] AS SH LEFT JOIN [Sales Archive] A ON (SH.[Document Type] = A.[Document Type]
AND SH.[No_]=A.[No_] AND SH.[Doc_ No_ Occurrence]=A.[Doc_ No_ Occurrence])
where (SH.[Document Type]='0' and SH.[Order]='1')
group by SH.[No_],SH.[Sell-to Customer No_],SH.[Sell-to Contact No_],
SH.[Sell-to Customer Template Code]
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow