- Este tópico contém 2 respostas, 3 vozes e foi atualizado pela última vez 13 anos, 5 meses atrás por
fsitja.
-
AutorPosts
-
julho 10, 2010 às 12:50 am #95000
elciodba
Participanteselect 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
Obrigadojulho 11, 2010 às 5:27 am #95004burga
ParticipanteNossa 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!?!?!
julho 11, 2010 às 7:25 am #95005fsitja
ParticipanteOlá,
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.
-
AutorPosts
- Você deve fazer login para responder a este tópico.
Compartilhe ! Além de ajudar, é legal ! :)
- Clique para compartilhar no Twitter(abre em nova janela)
- Clique para compartilhar no Facebook(abre em nova janela)
- Clique para compartilhar no LinkedIn(abre em nova janela)
- Clique para compartilhar no Reddit(abre em nova janela)
- Clique para compartilhar no WhatsApp(abre em nova janela)
- Clique para compartilhar no Telegram(abre em nova janela)
- Clique para enviar um link por e-mail para um amigo(abre em nova janela)
- Clique para imprimir(abre em nova janela)