CrossTab

Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #95000
    Avatar de elciodbaelciodba
    Participante

    select numero ,codigo ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’01’ ,valor )),0) vencto1 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’02’ ,valor )),0) vencto2 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’03’ ,valor )),0) vencto3 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’04’ ,valor )),0) vencto4 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’05’ ,valor )),0) vencto5 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’06’ ,valor )),0) vencto6 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’07’ ,valor )),0) vencto7 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’08’ ,valor )),0) vencto8 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’09’ ,valor )),0) vencto9 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’10’ ,valor )),0) vencto10 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’11’
    ,valor )),0) vencto11 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’12’ ,valor )),0) vencto12 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’13’ ,valor )),0) vencto13 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’14’ ,valor )),0) vencto14 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’15’ ,valor )),0) vencto15 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’16’ ,valor )),0) vencto16 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’17’ ,valor )),0) vencto17
    ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’18’ ,valor )),0) vencto18 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’19’ ,valor )),0) vencto19 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’20’ ,valor )),0) vencto20 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’21’ ,valor )),0) vencto21 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’22’ ,valor )),0) vencto22
    ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’23’ ,valor )),0) vencto23 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’24’ ,valor )),0) vencto24 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’25’ ,valor )),0) vencto25 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’26’ ,valor )),0) vencto26 ,nvl(sum(decode(to_char(vencimento, ‘mm’),
    ’27’ ,valor )),0) vencto27 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’28’ ,valor )),0) vencto28 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’29’ ,valor )),0) vencto29 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’30’ ,valor )),0) vencto30 ,nvl(sum(decode(to_char(vencimento, ‘mm’), ’31’ ,valor )),0) vencto31 from tab1 group by numero,codigoorder by numero
    Porem a data de vencimento é diferente uma da outra
    esta saindo assim :
    numero codigo valor vencimento —— ———– —— 0015 00000000001 4,54 28/9/2009 0015 00000000001 4,54 28/10/2009 0015 00000000001 4,54 28/11/2009 0015 00000000001 4,54 28/12/2009 0015 00000000001 4,54 28/1/2010 eu preciso assim :numero codigo valor vencimento vencimento vencimento vencimento vencimento 28/09 28/10 28/11 28/12 28/01 —— ———– —— ———- ———- ———- ———- ———-0015 00000000001 4,54 28/9/2009 28/10/2009 28/11/2009 28/12/2009 28/1/2010
    Alguem sabe como fazer isso, estou tentando fazer um CROSSTAB mas não esta dando certo
    Obrigado

    #95004
    Avatar de burgaburga
    Participante

    Nossa senhora…

    O retorno que você postou não condiz com o SQL que você passou… Isso seria verdade se você agrupasse também pela data e se não tivesse esse “caminhão” de SUM… Tem certeza que postou certo?

    Outra coisa que me chamou a atenção, é que me parece que você está tentando pegar o mês de uma data e comparar no DECODE pra somar os valores, mas está indo até mês=31!?!?!

    #95005
    Avatar de fsitjafsitja
    Participante

    Olá,

    Por favor, quando postar, use formatação com tag [code] nos seus SQLs e exemplos para facilitar as pessoas a ajudar você. Releia seu post e veja como ficou terrível de entender… poste um exemplo de dados e explique os requisitos de forma consistente, pois esse exemplo ficou furado.

Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Você deve fazer login para responder a este tópico.
plugins premium WordPress