none
Duvida em select sum em sql server RRS feed

  • Pergunta

  • boa tarde...

    estou fazendo um select em uma tabela q tenho 2 campos.

    campo valor_flcx que guardo os valores e campo tip_flcx onde guardo se foi Saída ou Entrada

    tenho que fazer um select por período e somando os valores individua de Saída e Entrada

    ou seja o select ficaria mais ou meno assim

    select sum(valor_flcx)FROM tabflcx where tip_flcx = 'Entrada' and data_flcx >= '01/02/2015' AND data_flcx<= '28/02/2015' group by histpd_fk
    
    select sum(valor_flcx)FROM tabflcx where tip_flcx = 'Saída' and data_flcx >= '01/02/2015' AND data_flcx<= '28/02/2015' group by histpd_fk

    porem preciso disso apenas em um select.

    alguém pode mim ajudar?


    segunda-feira, 2 de março de 2015 19:30

Respostas

  • Tente algo como:

    select
        valor_entrada = sum(CASE WHEN tip_flcx = 'Entrada' THEN valor_flcx ELSE 0 END),
        valor_saida = sum(CASE WHEN tip_flcx = 'Saída' THEN valor_flcx ELSE 0 END)
    FROM tabflcx
    where tip_flcx IN ('Entrada', 'Saída') and data_flcx >= '01/02/2015' AND data_flcx<= '28/02/2015'
    group by histpd_fk

    • Sugerido como Resposta Mr. GMSOFT segunda-feira, 2 de março de 2015 20:13
    • Marcado como Resposta Rhael_Andrade terça-feira, 3 de março de 2015 13:45
    segunda-feira, 2 de março de 2015 19:39

Todas as Respostas

  • Tente algo como:

    select
        valor_entrada = sum(CASE WHEN tip_flcx = 'Entrada' THEN valor_flcx ELSE 0 END),
        valor_saida = sum(CASE WHEN tip_flcx = 'Saída' THEN valor_flcx ELSE 0 END)
    FROM tabflcx
    where tip_flcx IN ('Entrada', 'Saída') and data_flcx >= '01/02/2015' AND data_flcx<= '28/02/2015'
    group by histpd_fk

    • Sugerido como Resposta Mr. GMSOFT segunda-feira, 2 de março de 2015 20:13
    • Marcado como Resposta Rhael_Andrade terça-feira, 3 de março de 2015 13:45
    segunda-feira, 2 de março de 2015 19:39
  • deu certinho tive apenas uma outra duvida 

    exemplo;

    o valor 20.000,00

    estava vindo com 20000,00

    é possível eu já fazer um select e ele já vi formatado como 20.000,00

    ?

    segunda-feira, 2 de março de 2015 19:54
  • select
        valor_entrada = cast(Replace(sum(CASE WHEN tip_flcx = 'Entrada' THEN valor_flcx ELSE 0 END),',','.') as decimal(13,2)),
        valor_saida = cast(Replace(sum(CASE WHEN tip_flcx = 'Saída' THEN valor_flcx ELSE 0 END),',','.') as decimal(13,2))
    FROM tabflcx
    where tip_flcx IN ('Entrada', 'Saída') and data_flcx >= '01/02/2015' AND data_flcx<= '28/02/2015'
    group by histpd_fk

    Tente o código acima 

    Abraços,

    Rafael

    segunda-feira, 2 de março de 2015 20:33
  • deu na mesma Rafael...

    segunda-feira, 2 de março de 2015 20:38
  • Deleted
    segunda-feira, 2 de março de 2015 22:19