Em 6 de julho de 2010 11:59, Thiago <zan...@farmaponte.com.br> escreveu:
> A seguinte:
>
> PostgreSQL 8.1.11 on i686-redhat-linux-gnu, compiled by GCC gcc (GCC)
> 4.1.2 20070626 (Red Hat 4.1.2-14)
>
> Obrigado.
>
> Em 06/07/2010 11:54, JotaComm escreveu:
>> Olá,
>>
>>
>> Em 6 de julho de 2010 11:47, Thiago
>> <zan...@farmaponte.com.br
>> <mailto:zan...@farmaponte.com.br>> escreveu:
>>
>>     Galera, bom dia.
>>
>>
>>     Seguinte, tenho uma tabela de itens de menu e gostaria de fazer um
>>     select que retornasse o resultado em forma de árvore, mais ou menos como
>>     no seguinte exemplo:
>>
>>     Tabela
>>     ID  IDPai  Menu
>>     1   0      Opcoes
>>     2   0      Gerencial
>>     3   1      Desconectar
>>     4   1      Alterar senha
>>     5   2      Criar usuarios
>>     6   2      Liberar permissoes
>>     7   6      Procurar
>>     8   6      Qualquer coisa
>>
>>     Com essa tabela gostaria de um select que me trouxesse o resultado
>>     ordenado primeiramente pelas raizes (registro com IDPai = 0) e depois
>>     pelos filhos, mas o problema é apenas uma ramificação, cada filho pode
>>     conter outros filhos e assim por diante.
>>
>>     Por isso preciso que um select ou uma procedure me retorne o seguinte
>>     resultado:
>>
>>     Resultado
>>
>>     ID  IDPai  Menu
>>     1   0      Opcoes
>>     3     1      Desconectar
>>     4     1      Alterar senha
>>     2   0      Gerencial
>>     5     2      Criar usuarios
>>     7       5      Procurar
>>     8       5      Qualquer coisa
>>     6     2      Liberar permissoes
>>
>>     Algo parecido com isso
>>
>>     Alguém já passou por algo parecido e sabe como resolver, estou quebrando
>>     a cabeça aqui e está um pouco complicado.
>>
>>
>> Qual versão do PG você está utilizando?
>>


Em primeiro lugar você está utilizando uma versão bastante antiga. O
suporte a esta versão se encerrará em nov/2010 [1], planeje um upgrade
de versão.

Verifique a função connectby no módulo contrib tablefunc que, creio,
atenderá a suas necessidades. (deve existir um diretório contrib em
sua instalação do PostgreSQL)

Osvaldo

[1] http://wiki.postgresql.org/wiki/PostgreSQL_Release_Support_Policy
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a