GARANTIR DESCONTO

Fórum Soma de dados por id #589740

12/12/2017

0

SQL

Estou tentando fazer a soma de alguns dados de acordo com alguns ids.
ex:
CASE WHEN b.rubrica = (34,51,53,54,55,56,57) THEN SUM(b.valor)END

Mas nao consigo, algn pode me ajudar?
Samila

Samila

Responder

Post mais votado

12/12/2017

CASE WHEN b.rubrica IN (34,51,53,54,55,56,57) THEN SUM(b.valor)END

Use o operador IN.

Fabio Parreira

Fabio Parreira
Responder

Gostei + 1

Mais Posts

12/12/2017

Samila

Eu tentei com IN, mas tbm n funciona! obrigada
Responder

Gostei + 1

12/12/2017

Johnny

Boa noite,
a sintaxe do código está incorreta.

use a seguinte:
 select
    case
      when B.RUBRICA in (34, 51, 53, 54, 55, 56, 57) then sum(B.VALOR)
    end as VALOR
from
    NOME_TABELA
group by
    B.RUBRICA   
Responder

Gostei + 0

13/12/2017

Fabio Parreira

Poderia postar seu select para analizarmos?
Responder

Gostei + 0

13/12/2017

Samila

select '2' as tipo_registro,
a.empresa ,
--Unidade
a.matricula,
(select sum(b.valor)
from p_trabalhadores_folhas_rub b
where b.rubrica in (1,74,80,94)) as novo

--TotalProventos
--TotalDescontos
-- a.salario_liquido

from p_trabalhadores_folhas a
where a.competencia between '2002.08.01' and '2002.08.31'


o sistema trava, não sei mais o que fazer!
Responder

Gostei + 0

13/12/2017

Fabiano Carvalho

Tente dessa forma.

select
    sum(case when B.RUBRICA in (34, 51, 53, 54, 55, 56, 57) then 1  else  0 end) as VALOR
from
    NOME_TABELA
group by
    B.RUBRICA
Responder

Gostei + 0

14/12/2017

Fabio Parreira

select
'2' as tipo_registro,
a.empresa ,
--Unidade
a.matricula,
sum(valor)
from
p_trabalhadores_folhas_rub
where
rubrica in (1,74,80,94)
and competencia between '2002.08.01' and '2002.08.31'
group by
a.empresa,
a.matricula

Não seria isso?

meu skype: parreirafabio

Qualquer dúvida me chame, assim dá para entender melhor sua dúvida.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar