SELECT ORG_ID,ORG_NAME,UP_ORG_ID FROM ADMIN_AUTH_ORG
WITH
SEQORG
( ORG_ID, ORG_NAME,UP_ORG_ID, ORG_SEQ ) AS
(SELECT ORG_ID,
ORG_NAME,
UP_ORG_ID,
UP_ORG_ID || ',' || ORG_ID AS ORG_SEQ
FROM
ADMIN_AUTH_ORG A
WHERE
ORG_ID = '03111'
UNION ALL
SELECT
C.ORG_ID,
C.ORG_NAME,
C.UP_ORG_ID,
P.ORG_SEQ || ',' || C.ORG_ID
FROM
SEQORG P,
ADMIN_AUTH_ORG C
WHERE
P.ORG_ID = C.UP_ORG_ID
)
SELECT
ORG_ID AS UNITID,
ORG_NAME AS UNITNAME,
UP_ORG_ID AS SUPERUNITID,
SUBSTR (ORG_SEQ, LOCATE (',', ORG_SEQ) + 1, LENGTH (ORG_SEQ) - LOCATE (',', ORG_SEQ)) AS
UNITSEQ
FROM
SEQORG