WITH
ROOT
(
CODE,
CUSTOM_CODE,
FULL_NAME,
ID,
NAME,
PARENT_CODE,
PY_CODE,
LEVEL,
PARENT_NAME) AS ( SELECT
A.CODE,
A.CUSTOM_CODE,
A.FULL_NAME,
A.ID,
A.NAME,
A.PARENT_CODE,
A.PY_CODE,
A.LEVEL,
A.PARENT_NAME
FROM
VIEW_INST_DEPART_CLASSIFY_LEVEL A
WHERE
A.CODE IN ( SELECT
DISTINCT B.DEPARTMENT_CODE
FROM
MEDICAL_WORKER B
WHERE
1=1 AND
B.INST_CODE= '467223275'
)
UNION
ALL SELECT
A.CODE,
A.CUSTOM_CODE,
A.FULL_NAME,
A.ID,
A.NAME,
A.PARENT_CODE,
A.PY_CODE,
A.LEVEL,
A.PARENT_NAME
FROM
VIEW_INST_DEPART_CLASSIFY_LEVEL a,
ROOT R
WHERE
A.CODE = R.PARENT_CODE
)
SELECT
DISTINCT CODE,
CUSTOM_CODE,
FULL_NAME,
ID,
NAME,
PARENT_CODE,
PY_CODE,
LEVEL,
PARENT_NAME
FROM
ROOT