Sub Select não funciona em consulta SQL
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?
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
Curtidas 0
Respostas
Karepa
24/02/2004
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;
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;
GOSTEI 0
João Silva
24/02/2004
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 :( ?
Será que você não tem outra maneira de resolver este problema :( ?
GOSTEI 0
João Silva
24/02/2004
[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]
Será que você não tem outra maneira de resolver este problema :( ?[/quote:a609dc1017]
GOSTEI 0
Karepa
24/02/2004
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.
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.
GOSTEI 0
João Silva
24/02/2004
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?
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?
GOSTEI 0
Everton
24/02/2004
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í ...
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í ...
GOSTEI 0