ORACLE - SQL estructura jerarquica padre hijo

El proximo SQL devuelve la informacion jerárquicade los registros en una table basando en el código del padre. Este script es muy útil para determinar la estructura de jerarquía:

SELECT 
   ID, 
   ORGANIZACION, 
   ID_PADRE, 
   LEVEL, -- PALABRA RESERVADA
   SYS_CONNECT_BY_PATH(ORGANIZACION, '/') -- USADO PARA LA CONSTRUCCIÓN DEL PATH/MIGA-DE-PAN (PUEDE SER REMOVIDO)
FROM
   ORG_UNITS
where 
   ACTIVE = 0
START WITH ID = XXX -- CÓDIGO DEL PADRE, RAÍZ DE LA ESTRUCTURA
CONNECT BY PRIOR ID = ID_PADRE -- CAMPO USADO PARA DETERMINAR LA RELACIÓN JERÁRQUICA
ORDER SIBLINGS BY 
   NIVEL,
   ORGANIZACION;

Resultado:

ID ORGANIZACION ID_PADRE NIVEL PATH
XXX PT 758 1 /PT
2077 PT-E XXX 2 /PT/PT-E
22687 PT-EC 2077 3 /PT/PT-E/PT-EC
22689 PT-ECC 22687 4 /PT/PT-E/PT-EC/PT-ECC
22688 PT-ECN 22687 4 /PT/PT-E/PT-EC/PT-ECN

Comments

Popular posts from this blog

Oracle - duplicate fields in RECORD,TABLE or argument list are not permitted

Oracle - ORA-29282: invalid file ID, ORA-06512: at "SYS.UTL_FILE"