none
Select Numeros positivos e negativos RRS feed

  • Pergunta

  • 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?

     

    terça-feira, 13 de fevereiro de 2007 18:32

Respostas

  • 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

    terça-feira, 13 de fevereiro de 2007 18:54

Todas as Respostas

  • 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

     

     

    terça-feira, 13 de fevereiro de 2007 18:44
  • Não quero usar uma Proc pq vou usar essas campos em um outro select com mais info.

    Queria usar uma query somente.

    terça-feira, 13 de fevereiro de 2007 18:48
  • 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

    terça-feira, 13 de fevereiro de 2007 18:54
  • PDH,

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

    terça-feira, 13 de fevereiro de 2007 19:24
  • 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;

     

     

    quarta-feira, 14 de fevereiro de 2007 10:53