Montei a query abaixo e necessito colocar os valores do mês em colunas, só que quando uso o case when ele zera os valores da soma, se uso sem o case when ele pega os valores corretos, alguém poderia me dar uma dica
select substr(a.rd_datarq,1,4) ano, substr(rd_datarq,5,2) mês, rd_pd, rd_mat, rd_cc,
case when substr(rd_datarq,1,4)='01' then
(nvl(sum(decode(rd_datarq,'01',rd_valor)),rd_valor) )
end janeiro
from srd010 a
where a.d_e_l_e_t_=' '
and a.rd_datarq > '200713'
and a.rd_pd between '001' and '700'
group by substr(a.rd_datarq,1,4), rd_mat, rd_cc,rd_valor, substr(a.rd_datarq,5,2), rd_pd
order by rd_mat, rd_cc, substr(a.rd_datarq,5,2), rd_pd
select com case when
-
rodfbar
- Rank: DBA Pleno

- Mensagens: 241
- Registrado em: Ter, 09 Out 2007 11:15 am
- Localização: Batatais - SP
cara não é porque você usou o decode sem o substr
no case você usou: substr(rd_datarq,1,4)='01'
no decode: decode(rd_datarq,'01'
se você usar o case não precisa colocar decode nenhum... manda ver um sum no valor direto...
tenta ai..
abrçs
no case você usou: substr(rd_datarq,1,4)='01'
no decode: decode(rd_datarq,'01'
se você usar o case não precisa colocar decode nenhum... manda ver um sum no valor direto...
tenta ai..
abrçs
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

