这能查出所有010399下面的子级,你再做个过滤把010399,010398那条去掉
WITH TABLE1 AS (
SELECT '010399' AS GRADE1 , '010398' AS GRADE2 FROM DUAL UNION ALL
SELECT '010398' AS GRADE1 , '010302' AS GRADE2 FROM DUAL UNION ALL
SELECT '010398' AS GRADE1 , '010303' AS GRADE2 FROM DUAL UNION ALL
SELECT '010398' AS GRADE1 , '010304' AS GRADE2 FROM DUAL UNION ALL
SELECT '010199' AS GRADE1 , '010198' AS GRADE2 FROM DUAL UNION ALL
SELECT '010199' AS GRADE1 , '010298' AS GRADE2 FROM DUAL UNION ALL
SELECT '010198' AS GRADE1 , '010101' AS GRADE2 FROM DUAL UNION ALL
SELECT '010198' AS GRADE1 , '010201' AS GRADE2 FROM DUAL UNION ALL
SELECT '019998' AS GRADE1 , '010199' AS GRADE2 FROM DUAL
)
SELECT
*
FROM
TABLE1
START WITH
GRADE1 = '010399' -- 参数
CONNECT BY
PRIOR GRADE2 = GRADE1