Fórum Sub Select não funciona em consulta SQL #216236

24/02/2004

0

Amigos tenho3 tabelas paradox e preciso fazer uma consulta da seguinte maneira:
Select Produtos.Cod_Produto, Descricao,
(Select sum(Entradas.Quantidade) From Entradas where produtos.Cod_Produto=Entradas.cod_Produto) as Entrada,
(Select sum(Saidas.Quantidade) From Saidas where produtos.Cod_Produto=Saidas.cod_Produto) as Saida
From produtos
group by Produtos.Cod_Produto, descricao;

O problema é que o resultado da soma sempre sai zerado, ou seja a :( resultade de todas as somas é zero. Alguém sabe dizer porque isso acontece?


João Silva

João Silva

Responder

Posts

24/02/2004

Karepa

Select Produtos.Cod_Produto,
Produtos.Descricao,
sum(Entradas.Quantidade) as Entradas,
sum(Saidas.Quantidade) as Saidas

From produtos
join entradas on produtos.cod_produto = entradas.cod_produto
join saidas on produtos.cod_produto = saidas.cod_produto

group by Produtos.Cod_Produto,
produtos.descricao;


Responder

Gostei + 0

25/02/2004

João Silva

Ai Karepa! A o resultado da soma bate, se a tabela Entradas conter mais de um registro de um produto a soma dos itens da tebela saida é alterada.
Será que você não tem outra maneira de resolver este problema :( ?


Responder

Gostei + 0

25/02/2004

João Silva

[quote:a609dc1017=´João Carlos da Silva´]Ai Karepa! O resultado da soma não bate, se a tabela Entradas conter mais de um registro de um produto a soma dos itens da tebela saida é alterada.
Será que você não tem outra maneira de resolver este problema :( ?[/quote:a609dc1017]


Responder

Gostei + 0

25/02/2004

Karepa

Olá.
Será que você não trocou o join. ?

correto :

join entradas on produtos.codigo = entradas.codigo
join saidas on produtos.codigo = saidas.codigo.

para ocorrer problema quando existe mais de um produto com o mesmo código nas entradas, sería se ao invés de utilizar produtos.codigo para linkar com a saidas.codigo, voce estiver utilizando entradas.codigo = saidas.codigo.


Responder

Gostei + 0

25/02/2004

João Silva

Simplesmente copiei o que você digitou e a soma não deu certo!
na tabela produtos tenho:
cod_Produto Descricao Preco
0000000001 Arroz 5,50
0000000002 Feijão 4,20
0000000003 Farinha 3,50

Na Tabela Entradas tenho:
Cod_Entrada Cod_produto Quantidade
01 0000000001 10
02 0000000001 5
03 0000000003 3

Na Tabela Saidas tenho:
Cod_Entrada Cod_produto Quantidade
01 0000000001 10
02 0000000003 2

No Resultado da consulta só consigo:

cod_Produto Descricao Entrada Saida
0000000001 Arroz 15 20
0000000003 Farinha 3 2

Observa-se que a quantidade de arroz que saiu e dobrada porque existem duas entradas do mesmo produto, o que eu quero e que isso não aconteça! Será que é possível?


Responder

Gostei + 0

25/02/2004

Everton

tudo bem João !!!

O SQL abaixo parece resolver o seu problema.


select pro.cod_produto, pro.descricao,
(select sum(ent.quantidade) from entradas ent
where ent.cod_produto = pro.cod_produto) as entrada,
(select sum(sai.quantidade) from saidas sai
where sai.cod_produto = pro.cod_produto) as Saida
from produtos pro


qualquer problema estamos aí ...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar