none
Conta de mais e menos no Sql server

    Question

  • Galera, eu gostaria de saber se eu posso somar ou subtrair no SQL server, direto no comando.

    tipo, eu tenho uma tabela movimentação e outra estoque. Quando fosse entrada de produto, eu queria somar a QTD aos produtos já no estoque. Caso fosse uma saída, eu gostaria de Subtrair. poderiam me dar alguns exemplos?


    Assunto = dúvida

    Thursday, November 08, 2012 6:34 PM

Answers

  • Você pode utilizar o SUM:

    http://msdn.microsoft.com/pt-br/library/ms187810.aspx

    declare @produto table (descricao varchar(100), entrada int, saida int, saldo int)
    
    insert into @produto (descricao, entrada, saida) values ('hamburguer', 10, 4)
    insert into @produto (descricao, entrada, saida) values ('alface', 20, 10)
    insert into @produto (descricao, entrada, saida) values ('queijo', 5, 5)
    insert into @produto (descricao, entrada, saida) values ('molho', 2, 2)
    insert into @produto (descricao, entrada, saida) values ('cebola', 7, 5)
    insert into @produto (descricao, entrada, saida) values ('picles', 98, 12)
    insert into @produto (descricao, entrada, saida) values ('pao', 9, 5)
    
    
    select descricao, sum(entrada) as entrada, sum(saida) as saida, sum(entrada-saida) as saldo 
    from @produto
    group by descricao


    Thursday, November 08, 2012 7:16 PM

All replies

  • Boa tarde,

    Pode sim:

    http://msdn.microsoft.com/en-us/library/ms178565.aspx

    http://msdn.microsoft.com/en-us/library/ms189518.aspx

    Outro exemplo:

    select (SaldoInicial + Entradas + Saidas) as SaldoFinal
    -- ...

    Espero que ajude.


    Assinatura: http://www.imoveisemexposicao.com.br

    Thursday, November 08, 2012 7:12 PM
  • Você pode utilizar o SUM:

    http://msdn.microsoft.com/pt-br/library/ms187810.aspx

    declare @produto table (descricao varchar(100), entrada int, saida int, saldo int)
    
    insert into @produto (descricao, entrada, saida) values ('hamburguer', 10, 4)
    insert into @produto (descricao, entrada, saida) values ('alface', 20, 10)
    insert into @produto (descricao, entrada, saida) values ('queijo', 5, 5)
    insert into @produto (descricao, entrada, saida) values ('molho', 2, 2)
    insert into @produto (descricao, entrada, saida) values ('cebola', 7, 5)
    insert into @produto (descricao, entrada, saida) values ('picles', 98, 12)
    insert into @produto (descricao, entrada, saida) values ('pao', 9, 5)
    
    
    select descricao, sum(entrada) as entrada, sum(saida) as saida, sum(entrada-saida) as saldo 
    from @produto
    group by descricao


    Thursday, November 08, 2012 7:16 PM
  • Cara... acho que de tanto pensar estou meio perdido... Então, eu estou montando um projeto pra facul, um sistema de estoque. Eu tenho a

    Tab_Movimentacao (Id_Movimentacao, entrada, saida, FK_Id_Produto, FK_Id_Funcionario)

    Tab_Estoque (Id_Estoque, FK_Id_Produto, FK_Id_Quantidade)

    Eu preciso, quando salvar o meu formulário, colocar os dados da movimentacao (se foi entrada ou saída) mas o que está me matando é abater ou somar os produtos no meu estoque. Poderiam me ajudar? 


    Assunto = dúvida

    Thursday, November 08, 2012 7:38 PM
  • Cláudio,

    Eu faria da seguinte maneira na estrutura de tabela que você tem:

    1. Eu criaria uma procedure para realizar a operação. 
    2. Ao preencher o formulário e submeter a procecure é executada e na procedure ocorreria o seguinte:
    • Inserir a movimentação no estoque na tabela tab_movimentacao.
    • Realizar o cálculo do estoque em cima da tabela tab_movimentacao. Após realizar o calculo da quantidade de estoque do produto, inserir ou atualizar isso na tabela Tab_estoque.

    Qualquer dúvida estamos a disposição.


    Guilherme Costa
    Email: guilerme18@hotmail.com

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    Friday, November 09, 2012 11:16 AM