Guida sulla “clausola GROUP BY” Errore
-
13-09-2019 - |
Domanda
auguro a nessuno mi può aiutare con questo errore "Colonna 'Sales.No_' non è valido nella lista di selezione perché non è contenuta in entrambi una funzione di aggregazione o nella clausola GROUP BY." ... Ho passato qualche giorno per capire questo errore ma non è riuscito :( La mia domanda: -
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')
Soluzione
La funzione "MAX" richiede un gruppo se si dispone di un colonne non di aggregazione. Quindi sarà necessario aggiungere un gruppo da sh. [No _] ....
Anche io ho riformattato la query in modo posso leggere più facile -hope che è ok -
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]
Altri suggerimenti
È perché hai utilizzato una funzione di aggregazione (MAX), quindi le restanti colonne selezionate anche necessario utilizzare funzioni di aggregazione o in un gruppo dalla clausola. ad esempio
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]