Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite,
SELECT E210EST.CODPRO,SUM(e210est.QTDEST)
FROM E210EST,E075PRO
WHERE E210EST.CODPRO='604801'
AND E210EST.CODPRO=E075PRO.CODPRO
GROUP BY E210EST.CODPRO,E075PRO.CODPRO
estou fazendo o select onde retorna um valor bem mais do que o que consta na tabela e210.est
alguem pode auxiliar?
Rode o select sem group by , o join pode estar gerando um produto cartesiano
SELECT *FROM E210EST,E075PRO
WHERE E210EST.CODPRO='604801'
AND E210EST.CODPRO=E075PRO.CODPRO
de qualquer forma o correto seria
SELECT E210EST.CODPRO,E075PRO.CODPRO,SUM(e210est.QTDEST)
FROM E210EST,E075PRO
WHERE E210EST.CODPRO='604801'
AND E210EST.CODPRO=E075PRO.CODPRO
GROUP BY E210EST.CODPRO,E075PRO.CODPRO
Motta, não deu certo. No caso deste select a tabela e210est é onde tem as entradas de produtos com a suas quantidades (qtdest) e a tabela e075pro é o cadastro do produto.
o select que você passou trouxe o seguinte resultado:
codpro codpro_1 sum
604801 604801 143
realizando o select * from e210est vi que contem apenas 7
Rode o sql sem group by , o que retorna ?
olá bom dia, talvez não seria o caso de retirar a função SUM(), olha se voce estiver começando agora a desenvolver seu sistema e seu próprio banco de dados, procure colocar nomes mais claros no seu banco, exe: Produtos,Grupos,Clientes,Fornecedores, etc.. não utilize códigos como nome de tabelas por que isso vai te atrapalhar mais pra frente.