PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum DECODE - ORACLE - Selecionar um determinado campo - Complicado #377562

13/05/2010

0

Boa Tarde Pessoal TO desenvolvendo um plano de contas em oracle, o´problema é que nao consigo pedir pra ele subtrair o valor quando é debito (tabela clanca) e somar quando é credito....
O script segue abaixo, se alguem puder me ajudar...
Seria esse campo L.Valor, tentei colocar um case junto, dizendo que se campo credito fosse diferente de nulo pra ele somar, se o campo debito for diferente de nulo pra ele subtrair... mais nao funcionou.
Obs: Campo Credito e Debito estao em uma tabela chamada clanca, ela tem a seguinte estrutura.
data   credito     debito     valor como eu sei quando é debito ou credito? Quando o campo credito ou debito esta preenchido... exemplo:
data      credito     debito     valor
10/09     null         123321    100,00      -- nesse caso é debito
11/08    23454       null         98.88        -- nesse caso é credito Select
L.Credito As "Contas"
, Sum(Decode(To_Char(L.Data, 'mm'), '01' ,Nvl(L.Valor,0) ) )-S.Valor Janeiro
, Sum(Decode(To_Char(L.Data, 'mm'), '02' ,Nvl(L.Valor,0) ) )-S.Valor Fevereiro
, Sum(Decode(To_Char(L.Data, 'mm'), '03' ,Nvl(L.Valor,0) ) )-S.Valor Março
, Sum(Decode(To_Char(L.Data, 'mm'), '04' ,Nvl(L.Valor,0) ) )-S.Valor Abril
, Sum(Decode(To_Char(L.Data, 'mm'), '05' ,Nvl(L.Valor,0) ) )-S.Valor Maio
, Sum(Decode(To_Char(L.Data, 'mm'), '06' ,Nvl(L.Valor,0) ) )-S.Valor Junho
, Sum(Decode(To_Char(L.Data, 'mm'), '07' ,Nvl(L.Valor,0) ) )-S.Valor Julho
, Sum(Decode(To_Char(L.Data, 'mm'), '08' ,Nvl(L.Valor,0) ) )-S.Valor Agosto
, Sum(Decode(To_Char(L.Data, 'mm'), '09' ,Nvl(L.Valor,0) ) )-S.Valor Setembro
, Sum(Decode(To_Char(L.Data, 'mm'), '10' ,Nvl(L.Valor,0) ) )-S.Valor Outubro
, Sum(Decode(To_Char(L.Data, 'mm'), '11' ,Nvl(L.Valor,0) ) )-S.Valor Novembro
, Sum(Decode(To_Char(L.Data, 'mm'), '12' ,Nvl(L.Valor,0) ) )-S.Valor Dezembro
, S.Valor
From Clanca L Join Cconta C
On L.Codcoligada = C.Codcoligada
And L.credito = C.Codconta
Join Csdant S
On S.Codcoligada = C.Codcoligada
And S.Codconta = C.Codconta
And Substr(L.Credito,1,1) = '1'
And To_Char(L.Data,'yy') = '09'
GROUP BY L.Credito, S.Valor
order by L.credito se alguem puder me ajudar, agradeco muito
Marcio Santana

Marcio Santana

Responder

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

Aceitar