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






Posted by [czar]
,