SELECT GIJUNIL, TRANS_NO, TRANS_DT, SUBSTR( MAX( SYS_CONNECT_BY_PATH(RUL_CD,',')),2) RUL_CD_PATH
FROM (
SELECT SUBSTR(A.TRANS_ID, 1,8) GIJUNIL, A.TRANS_NO TRANS_NO, A.TRANS_DT TRANS_DT, A.RUL_CD RUL_CD
, DENSE_RANK() OVER (PARTITION BY SUBSTR(A.TRANS_ID, 1,8), A.TRANS_NO, A.TRANS_DT ORDER BY A.RUL_CD) CHK
FROM RULE_RESULT_DETAIL_TOT A
WHERE A.TRANS_ID LIKE V_DATE||'%'
)
START WITH CHK = 1
CONNECT BY PRIOR CHK = CHK -1 AND PRIOR GIJUNIL = GIJUNIL AND PRIOR TRANS_NO = TRANS_NO AND PRIOR TRANS_DT = TRANS_DT
GROUP BY GIJUNIL, TRANS_NO, TRANS_DT
SELECT A, SUBSTR( MAX( SYS_CONNECT_BY_PATH(XX.B,',')), 2) B_ADD
FROM
(
SELECT A, B, DENSE_RANK() OVER (PARTITION BY A ORDER BY B ) CHK
FROM
(
SELECT 'A' AS A, '1' AS B FROM DUAL
UNION ALL
SELECT 'A' AS A, '2' AS B FROM DUAL
UNION ALL
SELECT 'A' AS A, '2' AS B FROM DUAL
UNION ALL
SELECT 'B' AS A, '1' AS B FROM DUAL
UNION ALL
SELECT 'B' AS A, '2' AS B FROM DUAL
UNION ALL
SELECT 'C' AS A, '1' AS B FROM DUAL
) A
) XX
START WITH XX.CHK = 1
CONNECT BY PRIOR XX.CHK = XX.CHK -1
GROUP BY A
FROM (
SELECT SUBSTR(A.TRANS_ID, 1,8) GIJUNIL, A.TRANS_NO TRANS_NO, A.TRANS_DT TRANS_DT, A.RUL_CD RUL_CD
, DENSE_RANK() OVER (PARTITION BY SUBSTR(A.TRANS_ID, 1,8), A.TRANS_NO, A.TRANS_DT ORDER BY A.RUL_CD) CHK
FROM RULE_RESULT_DETAIL_TOT A
WHERE A.TRANS_ID LIKE V_DATE||'%'
)
START WITH CHK = 1
CONNECT BY PRIOR CHK = CHK -1 AND PRIOR GIJUNIL = GIJUNIL AND PRIOR TRANS_NO = TRANS_NO AND PRIOR TRANS_DT = TRANS_DT
GROUP BY GIJUNIL, TRANS_NO, TRANS_DT
SELECT A, SUBSTR( MAX( SYS_CONNECT_BY_PATH(XX.B,',')), 2) B_ADD
FROM
(
SELECT A, B, DENSE_RANK() OVER (PARTITION BY A ORDER BY B ) CHK
FROM
(
SELECT 'A' AS A, '1' AS B FROM DUAL
UNION ALL
SELECT 'A' AS A, '2' AS B FROM DUAL
UNION ALL
SELECT 'A' AS A, '2' AS B FROM DUAL
UNION ALL
SELECT 'B' AS A, '1' AS B FROM DUAL
UNION ALL
SELECT 'B' AS A, '2' AS B FROM DUAL
UNION ALL
SELECT 'C' AS A, '1' AS B FROM DUAL
) A
) XX
START WITH XX.CHK = 1
CONNECT BY PRIOR XX.CHK = XX.CHK -1
GROUP BY A