none
Separar valores positivos dos negativos de uma coluna da mesma tabela SQL Server 2008. RRS feed

  • Pergunta

  • Olá pessoal,Estou tentando montar um relatório de básico movimentação de estoque porém no BD a tabela do estoque utiliza uma coluna denominada (Quantidade) onde números negativos representam (saída) e positivos  (entradas),Existe uma outra coluna relacionada denominada(Tipo) onde informa se foi (Compra) ou (Venda). Gostaria de criar duas colunas no relatório (Entrada) e (Saída),Onde a coluna (Saída) recebe os valores NEGATIVOS da coluna (Quantidade) e cujo (Tipo="Vendas") e outra coluna (Entrada) recebe os valores POSITIVOS da coluna (Quantidade) e cujo (Tipo="Saída") segue um exemplo de um select na tabela..

    Tipo             Quantidade

    Saída2 -1
    Saída2 -6
    Saída2 -20
    Saída2 -4
    Saída2 -4
    Entrada 170
    Entrada 5
    Entrada 20
    Entrada 200
    Entrada 312
    Entrada 50
    Entrada 10





    sexta-feira, 11 de dezembro de 2015 18:12

Respostas

  • Ola Davidson,

       Voce pode usar um CASE no Select para separar as colunas...

    SELECT
       CASE WHEN QUANTIDADE > 0 THEN QUANTIDADE ELSE 0 END AS Entradas,
       CASE WHEN QUANTIDADE < 0 THEN QUANTIDADE * -1 ELSE 0 END AS Saidas
    FROM ...
    Se quiser apresentar as saidas com sinal de negativo eh so remover o " * -1" da coluna de saidas... 



    Microsoft Community Contributor


    • Editado Rui SantosModerator sábado, 12 de dezembro de 2015 12:24
    • Sugerido como Resposta FLauffer sábado, 12 de dezembro de 2015 19:22
    • Marcado como Resposta Marcos SJ segunda-feira, 14 de dezembro de 2015 13:36
    sábado, 12 de dezembro de 2015 12:22
    Moderador

Todas as Respostas

  • Ola Davidson,

       Voce pode usar um CASE no Select para separar as colunas...

    SELECT
       CASE WHEN QUANTIDADE > 0 THEN QUANTIDADE ELSE 0 END AS Entradas,
       CASE WHEN QUANTIDADE < 0 THEN QUANTIDADE * -1 ELSE 0 END AS Saidas
    FROM ...
    Se quiser apresentar as saidas com sinal de negativo eh so remover o " * -1" da coluna de saidas... 



    Microsoft Community Contributor


    • Editado Rui SantosModerator sábado, 12 de dezembro de 2015 12:24
    • Sugerido como Resposta FLauffer sábado, 12 de dezembro de 2015 19:22
    • Marcado como Resposta Marcos SJ segunda-feira, 14 de dezembro de 2015 13:36
    sábado, 12 de dezembro de 2015 12:22
    Moderador
  • Você pode usar um UNION:

    (select tipo, sum(quantidade) as qtde, 0 as venda from TABELA group by tipo)
    union
    (select tipo 0 as qtde, sum(quantidade) as venda from TABELA group by tipo)

    sábado, 12 de dezembro de 2015 16:40
  • Obrigado pela ajudo amigo,Me ajudou muito.

    Separar valores negativos dos posivitos.

    segunda-feira, 14 de dezembro de 2015 14:12
  • Funcionou perfeitamente Rui Santos,Obrigado pela ajuda,Me ajudou muito. :)

    Separar valores negativos dos posivitos.

    segunda-feira, 14 de dezembro de 2015 14:13