select em uma tabela com auto-relacionamento

06/01/2004

0

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

Responder

Posts

06/01/2004

Motta

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


Responder

06/01/2004

Orlandodias

Tente acrescentar ao final do seu SQL:

ORDER BY NVL(super_cd_projeto,CDPROJETO)||CDPROJETO

sds

OD


Responder

08/01/2004

Andreaffbr

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


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar