Ir para conteúdo
Fórum Script Brasil
  • 0

DECODE- ORACLE - Selecionar um determinado campo - Complicado


Marcio_loko

Pergunta

Boa Tarde Pessoal

TO desenvolvendo um plano de contas em oracle, o´problema é que não consigo pedir pra ele subtrair o valor quando é debito (tabela clanca) e somar quando é credito....

O script segue abaixo, se alguém 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 não 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 alguém puder me ajudar, agradeco muito

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...