ORACLE - SQL estructura jerarquica padre hijo

August 29, 2014

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