none
Select Numeros positivos e negativos

    Question

  • E ae Pessoal, estou precisando fazer um select que retorne  em um campo somente a soma dos numeros positivos e em outro a  soma dos numeros negativos, alguem pode me ajudar?

     

    Tuesday, February 13, 2007 6:32 PM

Answers

  • Então é isso:

     

    SELECT @Soma_Positivo = Sum(Numero) FROM @TABELA_TESTE where Numero > 0
    SELECT @Soma_Negativo = Sum(Numero) FROM @TABELA_TESTE where Numero < 0

     

    Espero ter ajudado

    Tuesday, February 13, 2007 6:54 PM

All replies

  • Boa tarde PDH, segue abaixo um exemplo:

    Declare @Tabela_Teste Table(Codigo int identity(1,1),Numero int)

    INSERT INTO @Tabela_Teste VALUES(100)
    INSERT INTO @Tabela_Teste VALUES(100)
    INSERT INTO @Tabela_Teste VALUES(200)
    INSERT INTO @Tabela_Teste VALUES(-200)
    INSERT INTO @Tabela_Teste VALUES(-100)
    INSERT INTO @Tabela_Teste VALUES(400)
    INSERT INTO @Tabela_Teste VALUES(-400)
    INSERT INTO @Tabela_Teste VALUES(-50)
    INSERT INTO @Tabela_Teste VALUES(50)
    INSERT INTO @Tabela_Teste VALUES(100)
    INSERT INTO @Tabela_Teste VALUES(-100)

    Declare @Soma_Positivo int,
            @Soma_Negativo int

    SELECT @Soma_Positivo = Sum(Numero) FROM @TABELA_TESTE where Numero > 0
    SELECT @Soma_Negativo = Sum(Numero) FROM @TABELA_TESTE where Numero < 0

     

     

    Espero ter ajudado

     

     

    Tuesday, February 13, 2007 6:44 PM
  • Não quero usar uma Proc pq vou usar essas campos em um outro select com mais info.

    Queria usar uma query somente.

    Tuesday, February 13, 2007 6:48 PM
  • Então é isso:

     

    SELECT @Soma_Positivo = Sum(Numero) FROM @TABELA_TESTE where Numero > 0
    SELECT @Soma_Negativo = Sum(Numero) FROM @TABELA_TESTE where Numero < 0

     

    Espero ter ajudado

    Tuesday, February 13, 2007 6:54 PM
  • PDH,

    Baseando-se no exemplo do Anderson, utilize somente as linhas do Select.

    Tuesday, February 13, 2007 7:24 PM
  • da para fazer de uma vez so

      Select @positivo = sum(case when numero >0 Then numero else 0 end, @negativo= sum(case when numero <0 Then numero else 0 end

    from ....

     

    Abs;

     

     

    Wednesday, February 14, 2007 10:53 AM