Boa tarde,
Estou pesquisando sobre o uso de funções no Oracle 10g e gostaria de saber se alguém tem algum material e/ou exemplos sobre estas funções.
É possível utilizar o retorno do ( … row_number() OVER ( partition by CAMPO1 order by CAMPO2) rn ) em um case?
Por exemplo na query abaixo não gostaria de deixar os códigos dos departamentos fixo no select.
select funcao,
nvl(max(decode(descdepartamento,’ARH’,HORA)),0) ARH_HORA,
nvl(max(decode(descdepartamento,’ARH’,CUSTO)),0) ARH_CUSTO,
nvl(max(decode(descdepartamento,’SEG’,HORA)),0) SEG_HORA,
nvl(max(decode(descdepartamento,’SEG’,CUSTO)),0) SEG_CUSTO,
nvl(max(decode(descdepartamento,’MOB’,HORA)),0) MOB_HORA,
nvl(max(decode(descdepartamento,’MOB’,CUSTO)),0) MOB_CUSTO,
nvl(max(decode(descdepartamento,’DAF’,HORA)),0) DAF_HORA,
nvl(max(decode(descdepartamento,’DAF’,CUSTO)),0) DAF_CUSTO,
nvl(max(decode(descdepartamento,’CTR’,HORA)),0) CTR_HORA,
nvl(max(decode(descdepartamento,’CTR’,CUSTO)),0) CTR_CUSTO
from ( select descdepartamento, segmento, funcao, hora, custo, row_number() over (partition by descdepartamento order by funcao) RN
from rel_avaliacao_custo
)
group by funcao
order by funcao
É possível usar o RN no decode?
Obrigado.
Airton.