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 Query01Tudo 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
                    
                

