Mas ali embaixo, depois do AS, estão listados os nomes dos meses.
Eu gostaria de poder puxar estes "rótulos" do banco de dados.

2011/2/10 Fabrízio de Royes Mello <[email protected]>

>
>
> 2011/2/10 Alexsander Rosa <[email protected]>
>
> Eu gostaria de algo assim:
>>
>> select * from alguma_funcao(
>>   'select year, month, qty from sales order by 1',
>>   'select m from generate_series(1,12) m',
>>
>>   'select nome_mes from calendario order by 1');
>>
>> Isso existe?
>>
>>
>>
> Alexander,
>
> Veja se isso ajuda:
>
>
> http://www.postgresonline.com/journal/archives/14-CrossTab-Queries-in-PostgreSQL-using-tablefunc-contrib.html
>
> Foi o meu primeiro (e único) contato com essa contrib... usei ela para
> listar os salários pagos por mês de cada funcionário na folha de
> pagamento... a query que utilizei é a que segue:
>
> SELECT relatorio.*
>   FROM crosstab($$
>   select cast(to_char(r14_regist, '000000') || '-' || z01_nome as text) as
> row_name,
>          cast(to_char(date '2010-01-01' + ((r14_mesusu-1)||'
> month')::interval, 'mon') as text) as bucket,
>          cast(round(sum(r14_valor),2) as integer) as bucketvalue
>     from gerfsal
>          inner join rhpessoal on rh01_regist = r14_regist
>          inner join cgm       on z01_numcgm  = rh01_numcgm
>    where r14_anousu = 2010
>      and r14_pd     = 1
> group by r14_anousu,
>          r14_mesusu,
>          r14_regist,
>          z01_nome
> order by 1, r14_mesusu $$,
>                $$SELECT to_char(date '2010-01-01' + (n || '
> month')::interval, 'mon') As short_mname
>                   FROM generate_series(0,11) n$$) AS relatorio(item_name
> text,
>                                                               jan integer,
>                                                               feb integer,
>                                                               mar integer,
>                                                               apr integer,
>                                                               may integer,
>                                                               jun integer,
>                                                               jul integer,
>                                                               aug integer,
>                                                               sep integer,
>                                                               oct integer,
>                                                               nov integer,
>                                                               dec integer);
>
> Essa query vai listar a Matricula e Nome do Funcionário e o valor bruto do
> salário mês a mês do ano de 2010.
>
> Não sei se ajudei muito, mas aquele artigo me ajudou bastante a construir
> essa query.
>
> --
> Fabrízio de Royes Mello
> >> Blog sobre TI: http://fabriziomello.blogspot.com
> >> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
Atenciosamente,
Alexsander da Rosa
http://rednaxel.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a