Pular para o conteúdo

Fóruns SQL e PL/SQL O que ha de errado nessa function? Nao acumula valor O que ha de errado nessa function? Nao acumula valor

#94502
MARCIO_LOK
Participante

    VAleu pela forca, mais nao consegui resolver nao..

    é nesta parte que ele faz o select que tras as informacoes…


    select c.descricao,t.*
    from (select DISTINCT coalesce(nivel1, nivel2, nivel3, nivel4 ,nivel5, nivel6, nivel7, nivel8, nivel9, nivel10, nivel11, nivel12, nivel13, nivel14, nivel15, nivel16, nivel17, nivel18, nivel19, nivel20) codconta,
    Nvl(sum(jan),0) jan,
    Nvl(sum(fev),0) fev,
    Nvl(sum(mar),0) mar,
    Nvl(sum(abr),0) abr,
    Nvl(sum(mai),0) mai,
    Nvl(sum(jun),0) jun,
    Nvl(sum(jul),0) jul,
    Nvl(sum(ago),0) ago,
    Nvl(sum(sete),0) sete,
    Nvl(sum(out),0) out,
    Nvl(sum(nov),0) nov,
    Nvl(sum(dez),0) dez,
    nvl(sum(tot_ano),0) tot_ano,
    Nvl(Round(sum(tot_ano),2),0)/12 media
    from mov_mensal
    group by grouping sets ((nivel1), (nivel2), (nivel3), (nivel4), (nivel5), (nivel6), (nivel7), (nivel8), (nivel9), (nivel10), (nivel11), (nivel12), (nivel13), (nivel14), (nivel15), (nivel16), (nivel17), (nivel18), (nivel19), (nivel20))
    having (substr(nivel1, length(nivel1), 1) != '0')
    or (substr(nivel2, length(nivel2), 1) != '0')
    or (substr(nivel3, length(nivel3), 1) != '0')
    or (substr(nivel4, length(nivel4), 1) != '0')
    or (substr(nivel5, length(nivel5), 1) != '0')
    or (substr(nivel6, length(nivel6), 1) != '0')
    or (substr(nivel7, length(nivel7), 1) != '0')
    or (substr(nivel8, length(nivel8), 1) != '0')
    or (substr(nivel9, length(nivel9), 1) != '0')
    or (substr(nivel10, length(nivel10), 1) != '0')
    or (substr(nivel11, length(nivel11), 1) != '0')
    or (substr(nivel12, length(nivel12), 1) != '0')
    or (substr(nivel13, length(nivel13), 1) != '0')
    or (substr(nivel14, length(nivel14), 1) != '0')
    or (substr(nivel15, length(nivel15), 1) != '0')
    or (substr(nivel16, length(nivel16), 1) != '0')
    or (substr(nivel17, length(nivel17), 1) != '0')
    or (substr(nivel18, length(nivel18), 1) != '0')
    or (substr(nivel19, length(nivel19), 1) != '0')
    or (substr(nivel20, length(nivel20), 1) != '0')) t

     join cconta c on c.codconta = t.codconta
    

    order by t.codconta;

    de qualquer forma obrigado!