Segue um exemplo:

SELECT t.menu[1] AS r_no_menu, t.menu[2] AS r_id_menu, t.menu[3] AS
r_nu_posicao, t.menu[4] AS r_ed_url, t.menu[5] AS r_no_perfil, t.menu[6] AS
r_id_perfil, t.menu[7] AS r_id_menu_pai, t.menu[8] AS r_no_menu_pai,
t.cadastrar AS r_in_cadastrar, t.consultar AS r_in_consultar, t.editar AS
r_in_editar, t.excluir AS r_in_excluir, t.imprimir AS r_in_imprimir
   FROM crosstab('
    SELECT ARRAY[m.men_no_menu::text, m.men_id_menu::text,
m.men_nu_posicao::text, m.men_ed_url::text, p.per_no_perfil::text,
                p.per_id_perfil::text, m.men_id_menu_pai::text,
m2.men_no_menu::text] As menu,
                          f.fun_tx_funcao::text As funcao,
                pmf.per_in_permissao As valor
    FROM sc_seguranca.tbfuncao f
                            INNER JOIN sc_seguranca.tbpermissao pmf ON
                  f.fun_co_funcao = pmf.fun_co_funcao
                            INNER JOIN sc_seguranca.tbperfil p ON
pmf.per_id_perfil = p.per_id_perfil
                            INNER JOIN sc_seguranca.tbmenu m ON
pmf.men_id_menu = m.men_id_menu
                            LEFT JOIN sc_seguranca.tbmenu as m2 on
m.men_id_menu_pai = m2.men_id_menu
    ORDER BY m.men_no_menu, p.per_no_perfil'::text, '
        select f1.fun_tx_funcao as func
        from sc_seguranca.tbfuncao f1'::text) t(menu text[], cadastrar
boolean, consultar boolean, editar boolean, excluir boolean, imprimir
boolean);

Espero ter ajudado.

2011/4/15 Leonardo Cezar <[email protected]>

> 2011/4/15 fabiano.fernandes <[email protected]>:
>
> > Preciso recuperar essas informações da seguinte forma:
> >
> >
> >  ID  |  PNAME  |  ACT - A |  WEIGHT | ACT - C |  WEIGHT | ACT - B |
>  WEIGHT
> >
> -----+---------------+-------------+--------------+-------------+---------------+------------+----------
> >  3  |     Bolt     |      9.5    |        2      |     4.0     |       2
> > |     2.5    |    1
>
> Utiliza as funções crosstab do módulo tablefunc do diretório contrib.
>
> -Leo
> --
> Leonardo Cezar
> http://postgreslogia.wordpress.com
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Moisés Caribé Ribeiro
AD, DBA
[email protected]
71-91350152

MCTS 70-431
https://mcp.microsoft.com/authenticate/validatemcp.aspx
Transcript ID: 879519
Access Code: 884D1F114FF24
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a