Caros,

Aproveitando que estes dias tem aparecido bastante dúvidas sobre querys,
estou com a seguinte questão, tem uma query que me retorna a seguinte
estrutura:

select row_number() over() as id,  dt_vencto, vl_duplica from
receber_duplica
left outer join notas using(nota_id)
where nota_id = 114
order by dt_vencto

id;dt_vencto;vl_duplica
1;"2015-02-28";0.70
2;"2015-03-31";0.70
3;"2015-04-30";0.70
4;"2015-05-31";0.70
5;"2015-06-30";0.70
6;"2015-07-31";0.70
7;"2015-08-31";0.70
8;"2015-09-30";0.70
9;"2015-10-31";0.70
10;"2015-11-30";0.70

 este número de linhas obviamente é variavel.

Gostaria que me retornasse assim:

dt_vencto1;vl_duplica1;  dt_vencto2;vl_duplica2;dt_vencto3;vl_duplica3
1;2015-02-28;0,70;         2;2015-03-31;0,70        3;2015-04-30;0,70
4;2015-05;30;0,70          etc

quebrando em 3 conjunto de colunas;

sei que dá pra fazer com TEMPORARY TABLES

DROP TABLE IF EXISTS temporary_duplica;
CREATE TEMPORARY TABLE temporary_duplica as (
select row_number() over() as id,  dt_vencto, vl_duplica from
receber_duplica
left outer join notas using(nota_id)
where nota_id = 114
order by dt_vencto
);


select * from (select * from temporary_duplica where id%4=1) as a
left outer join(select * from temporary_duplica where id%4=2) as b on a.id+1
= b.id
left outer join(select * from temporary_duplica where id%4=3) as c on a.id+2
= c.id
left outer join(select * from temporary_duplica where id%4=0) as d on a.id+3
= d.id

mas neste caso como uso jasper ele não reconhece estas TEMPORARY TABLEs.

E sei que daria pra fazer tb, repetindo a query várias vezes, mas gostaria
de saber se tem como com windows functions obter estes resultados.

Desde já agradeço a atenção recebida.
Marco Aurélio Ventura da Silva
[email protected]
Prodata Informática e Cadastro LTDA
(33)3322-4444
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a