Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

C@rlos.Silv@

Select com case e union retornando erro

Recommended Posts

Bom dia, preciso fazer um select onde eu some um campo vl_liquido e que tenha uma condição que quando for o mes de dezembro ele some os decimos terceiro; esta me retornando um erro alguem da um help ai??

select

 sum(case
when (competencia = '122014') then(
Select  sum(vl_liquido) From baixa_holerite
where cod_empresa = 137
and tipo_folha = 'HL'
and competencia <= '112014'
and dt_lancamento is null


UNION 


Select sum(vl_liquido) From baixa_holerite
where
(dt_lancamento is null
or dt_lancamento >= '2015-01-01')
and cod_empresa = 137
and tipo_folha = 'HL'
and competencia = '122014'




UNION


select sum (vl_liquido) From baixa_holerite
where tipo_folha = 'DT'
and cod_empresa = 137


)


when (competencia <> '122014')then(
Select  sum(vl_liquido) From baixa_holerite
where cod_empresa = 137
and tipo_folha = 'HL'
and competencia <= '112014'
and dt_lancamento is null


UNION 


Select sum(vl_liquido) From baixa_holerite
where
(dt_lancamento is null
or dt_lancamento >= '2015-01-01')
and cod_empresa = 137
and tipo_folha = 'HL'
and competencia = '122014')
   end)  as soma
  ,sum(vl_liquido) From baixa_holerite

Compartilhar este post


Link para o post
Compartilhar em outros sites

ALGO ASSIM , CREIO

Select  sum(CASE WHEN competencia = '122014' THEN VL_LIQUIDO
                 WHEN competencia <> '122014' AND TIPO_FOLHA = 'HL' THEN VL_LIQUIDO
                 ELSE 0 END)
From baixa_holerite
where cod_empresa = 137
and tipo_folha IN ('HL','DT')
and dt_lancamento is null

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.