Ir para conteúdo
Fórum Script Brasil

Rodrigo-FS

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Rodrigo-FS

Rodrigo-FS's Achievements

0

Reputação

  1. Considerando a tabela e os dados abaixo: create table pessoa (pessoa VARCHAR(15), pai VARCHAR(15)); insert into pessoa values ('pai 1', null); insert into pessoa values ('pai 2', null); insert into pessoa values ('filho 1.1', 'pai 1'); insert into pessoa values ('filho 1.2', 'pai 1'); insert into pessoa values ('filho 2.1', 'pai 2'); insert into pessoa values ('filho 1.3', 'pai 1'); insert into pessoa values ('filho 1.4', 'pai 1'); insert into pessoa values ('filho 2.2', 'pai 2'); Gostaria de fazer uma consulta trazendo a hierarquia .... por exemplo no Oracle ... faço dessa forma: select * from pessoa p start with pai is null connect by prior p.pessoa = p.pai; RESULTADO: pessoa pai ------- ----- pai 1 filho 1.1 pai 1 filho 1.2 pai 1 filho 1.3 pai 1 filho 1.4 pai 1 pai 2 filho 2.1 pai 2 filho 2.2 pai 2 Utilizando o PostgreSQL 9.0, fiz dessa forma: with recursive p1 (pessoa, pai) as ( select pessoa, pai from pessoa where pai is null union all select p.pessoa, p.pai from pessoa p, p1 where p.pai = p1.pessoa ) select * from p1; Porém o resultado ficou estranho ... como segue RESULTADO: pessoa pai ------- ----- pai 1 pai 2 filho 1.1 pai 1 filho 1.2 pai 1 filho 1.3 pai 1 filho 1.4 pai 1 Alguém poderia me ajudar ... preciso que o resultado se apresenta da mesma forma como no Oracle !! Valeu !
×
×
  • Criar Novo...