UTILIZANDO GROUP BY

LUMBRA 17/09/2013 16:38:10
#428972
Oi galera, estou com um problema, estou tentando ler a tabela de itens do pedido e somar o campo qtde de itens, montando um grupo com descricao da tabela de produto e nao esta dando certo, segue meu code
SQ = [Ô]SELECT SUM(CADINTVE.QTDEPC) as soma, CADPEDVE.NUMDOC, CADPEDVE.CODCLI,[Ô]
SQ = SQ & [Ô] CADINTVE.CODPRO, CADPRODU.DESCRICAO[Ô]
SQ = SQ & [Ô] FROM (CADINTVE INNER JOIN CADPEDVE ON CADINTVE.NUMDOC = CADPEDVE.NUMDOC) INNER JOIN CADPRODU ON CADINTVE.CODPRO = CADPRODU.CODPRODUTO[Ô]
SQ = SQ & [Ô] GROUP BY CADPRODU.DESCRICAO[Ô]

tab10.Open SQ, BancoDados, adOpenKeyset, adLockOptimistic

esta danod o erro:nao é expressao group by, desde já agradeço...
MADMAX 18/09/2013 16:52:43
#429045
Resposta escolhida
LUMBRA você tem de colocar todos os outros campos no Group by não so o que você quer agrupar , deve ficar assim mais ou menos.

SQ = [Ô]SELECT SUM(CADINTVE.QTDEPC) as soma, CADPEDVE.NUMDOC, CADPEDVE.CODCLI,[Ô]
SQ = SQ & [Ô] CADINTVE.CODPRO, CADPRODU.DESCRICAO[Ô]
SQ = SQ & [Ô] FROM (CADINTVE INNER JOIN CADPEDVE ON CADINTVE.NUMDOC = CADPEDVE.NUMDOC) INNER JOIN CADPRODU ON CADINTVE.CODPRO = CADPRODU.CODPRODUTO[Ô]
SQ = SQ & [Ô] GROUP BY CADPEDVE.NUMDOC, CADPEDVE.CODCLI, CADINTVE.CODPRO, CADPRODU.DESCRICAO[Ô]
OCELOT 18/09/2013 17:10:23
#429048
Só completando o que o MADMAX disse, quando se faz um GROUP BY você só pode colocar no SELECT os campos que estão sendo usados em uma função agregada ou que estão na clausula GROUP BY

No seu caso os campos NUNDOC, CODCLI, CODPRO e DESCRICAO não estão sendo usadas por nenhuma função agregada e não estão na clausula GROUP BY, por isso ocorre o erro.

MADMAX 18/09/2013 17:32:45
#429053
OCELOT boa !!! Não sei dizer tecnicamente mais sei que eh assim kkkkkk
LUMBRA 18/09/2013 17:36:57
#429054
Valeu MadMax e Ocelot, agora entendi e aprendi, obrigado a todos
Tópico encerrado , respostas não são mais permitidas