select em uma tabela com auto-relacionamento

Oracle

06/01/2004

Pessoal estou com uma dúvida que já esta me enlouquecendo, Eu tenho uma tabela que contém um auto relacionamento. É mais ou menos assim:

cd_projeto : varchar2(10) not null;
super_cd_projeto: varchar2(10);
descricao:varchar2(40);

Projeto Super Descricao
S001 xx
S002 yy
S003 zz
P005 S002 aa
P009 S002 bb
P003 S001 cc
P004 S001 dd

Estou precisando ordená-lo através de um único select para que exiba o super e seus dependentes como:

Projeto Super Descricao
S001 xx
P003 S001 cc
P004 S001 dd
S002 yy
P008 S002 aa
P009 S002 bb
S003 zz

Eu queria saber se há como fazer essa ordenação através de um select? Não estou conseguindo de jeito nenhum. Caso possam me ajudar.....


Andreaffbr

Andreaffbr

Curtidas 0

Respostas

Motta

Motta

06/01/2004

use o connect by

veja exemplo


SELECT empno, ename, mgr
FROM emp
CONNECT BY
PRIOR empno = mgr;

na tabela citada

select *
from projeto
connect by prior cd_projeto = super_cd_projeto

veja o help para mais detalhes


GOSTEI 0
Orlandodias

Orlandodias

06/01/2004

Tente acrescentar ao final do seu SQL:

ORDER BY NVL(super_cd_projeto,CDPROJETO)||CDPROJETO

sds

OD


GOSTEI 0
Andreaffbr

Andreaffbr

06/01/2004

Muito obrigado! Era isso mesmo, funcionou com estes 2 exemplos.


GOSTEI 0
POSTAR