AJUDA COM SUM
Bom dia, estou tentando fazer um busca com as seguintes situação
tenho a tabela ESTOQUE contendo os seguinte itens
ProdutoID Movimento Quantidade
23 Entrada 200
23 SaÃdas 50
no resultado teria que sair assim : 150
na minha busca usando este select esta saindo assim 200
Dim cmd As New FbCommand([Ô]SELECT * FROM Cad_Estoque WHERE MOVIMENTO = [ô]ENTRADA[ô] AND (ProdutoID = [ô]23[ô])[Ô], clConexao.abreConnexao)
Grato
tenho a tabela ESTOQUE contendo os seguinte itens
ProdutoID Movimento Quantidade
23 Entrada 200
23 SaÃdas 50
no resultado teria que sair assim : 150
na minha busca usando este select esta saindo assim 200
Dim cmd As New FbCommand([Ô]SELECT * FROM Cad_Estoque WHERE MOVIMENTO = [ô]ENTRADA[ô] AND (ProdutoID = [ô]23[ô])[Ô], clConexao.abreConnexao)
Grato
Colega NILTON_VIANNA,
Seria algo mais ou menos assim (não tive como testar aqui):
Tudo de bom.
Seria algo mais ou menos assim (não tive como testar aqui):
Select Query01.Qtd_Ent - Query01.Qtd_Sai as Saldo from
( (SELECT sum(Quantidade) as Qtd_Ent FROM Cad_Estoque WHERE MOVIMENTO = [ô]ENTRADA[ô] AND (ProdutoID = [ô]23[ô])) ,
(SELECT sum(Quantidade) as Qtd_Sai FROM Cad_Estoque WHERE MOVIMENTO = [ô]SAIDAS[ô] AND (ProdutoID = [ô]23[ô]))
) as Query01
Tudo de bom.
Colega estou usando o FIREBIRD
Banco,não importa muito.Tipo de campo, sim.
Mais ou menos assim.
SELECT Entrada,saida,Sum(entrada) - Sum(saida) as Saldo FROM Cad_Estoque WHERE MOVIMENTO =[ô]ENTRADA[ô] And ProdutoID=1 Group by entrada,saida
Mais ou menos assim.
SELECT Entrada,saida,Sum(entrada) - Sum(saida) as Saldo FROM Cad_Estoque WHERE MOVIMENTO =[ô]ENTRADA[ô] And ProdutoID=1 Group by entrada,saida
entrada e saidas são dados ??
Colega OMAR2011,
Não entendi a sua query, porque ela soma as saÃdas, mas não faz referência no Where.
Também vale lembrar que o campo do nosso colega é apenas um (quantidade) tanto para as saÃdas quanto para as entradas.
De qualquer forma, agora estou distante do PC de programação, não teria como testar para o nosso colega NILTON_VIANNA.
Colega NILTON_VIANNA,
A query SQL está em formato básico SQL92, não fará diferença se SQL Server, PostGreSQL ou Firebird. A estrutura que te passei deverá funcionar.
Cabe você colocar os comandos de abertura e fechamento de banco. Algo como:
Tudo de bom.
Não entendi a sua query, porque ela soma as saÃdas, mas não faz referência no Where.
Citação:SELECT Entrada,saida,Sum(entrada) - Sum(saida) as Saldo FROM Cad_Estoque WHERE MOVIMENTO =[ô]ENTRADA[ô] And ProdutoID=1 Group by entrada,saida
Também vale lembrar que o campo do nosso colega é apenas um (quantidade) tanto para as saÃdas quanto para as entradas.
De qualquer forma, agora estou distante do PC de programação, não teria como testar para o nosso colega NILTON_VIANNA.
Colega NILTON_VIANNA,
A query SQL está em formato básico SQL92, não fará diferença se SQL Server, PostGreSQL ou Firebird. A estrutura que te passei deverá funcionar.
Cabe você colocar os comandos de abertura e fechamento de banco. Algo como:
Dim cmd As New FbCommand([Ô]Select Query01.Qtd_Ent - Query01.Qtd_Sai as Saldo from
( (SELECT sum(Quantidade) as Qtd_Ent FROM Cad_Estoque WHERE MOVIMENTO = [ô]ENTRADA[ô] AND (ProdutoID = [ô]23[ô])) ,
(SELECT sum(Quantidade) as Qtd_Sai FROM Cad_Estoque WHERE MOVIMENTO = [ô]SAIDAS[ô] AND (ProdutoID = [ô]23[ô]))
) as Query01, clConexao.abreConnexao)
Tudo de bom.
Tópico encerrado , respostas não são mais permitidas