Pular para o conteúdo

Fóruns SQL e PL/SQL Decode – Selecionar Campo a preencher Decode – Selecionar Campo a preencher

#93996
fsitja
Participante

    Olá,

    Algo assim atenderia:
    ————————————————————————————————————————————————————————

    SQL> create table clanca (data date,
    2 credito number(10),
    3 debito number(10),
    4 valor number(15, 2));

    Table created
    SQL> begin
    2 insert into clanca values (to_date('05/01/2010', 'DD/MM/YYYY'), 1001, null, 50);
    3 insert into clanca values (to_date('07/01/2010', 'DD/MM/YYYY'), 1002, null, 120);
    4 insert into clanca values (to_date('12/01/2010', 'DD/MM/YYYY'), 1003, null, 80);
    5 insert into clanca values (to_date('04/01/2010', 'DD/MM/YYYY'), null, 2001, 10);
    6 insert into clanca values (to_date('06/01/2010', 'DD/MM/YYYY'), null, 2002, 20);
    7 insert into clanca values (to_date('20/01/2010', 'DD/MM/YYYY'), null, 2003, 30);
    8 commit;
    9 end;
    10 /

    PL/SQL procedure successfully completed
    SQL> select sum(decode(to_char(l.data, 'mm'),
    2 '01',
    3 l.valor * case when credito is not null then 1
    4 when debito is not null then -1 end
    5 )) janeiro
    6 from clanca l;

    JANEIRO
    ----------
    190

    SQL>

    É só replicar para os outros meses agora.

    Só não há necessidade de postar a mesma pergunta em dois novos tópicos.