멀티 세트 &을 SYS.ODCIVARCHAR2LIST 등으로 사용하여 많은 답변을 보았습니다. 논리적 인 논리를 이해하지 못했습니다. 아래 예제를 찾으십시오 (실제로 다른 질문에서 가져옴). 워크 플로우 설명/멀티 세트 이해를위한 작업을 요청하십시오. 그리고 예. 관련 문서를 읽으려고했습니다.오라클의 장점과 장점, 중요성
CREATE TABLE table_name (Id, Column1, Column2) AS
SELECT 1, 'A,B,C', 'H' FROM DUAL UNION ALL
SELECT 2, 'D,E', 'J,K' FROM DUAL UNION ALL
SELECT 3, 'F', 'L,M,N' FROM DUAL;
쿼리 :
SELECT t.id,
c1.COLUMN_VALUE AS c1,
c2.COLUMN_VALUE AS c2
FROM table_name t
CROSS JOIN
TABLE(
CAST(
MULTISET(
SELECT REGEXP_SUBSTR(t.Column1, '[^,]+', 1, LEVEL)
FROM DUAL
CONNECT BY LEVEL <= REGEXP_COUNT(t.Column1, '[^,]+')
) AS SYS.ODCIVARCHAR2LIST
)
) c1
CROSS JOIN
TABLE(
CAST(
MULTISET(
SELECT REGEXP_SUBSTR(t.Column2, '[^,]+', 1, LEVEL)
FROM DUAL
CONNECT BY LEVEL <= REGEXP_COUNT(t.Column2, '[^,]+')
) AS SYS.ODCIVARCHAR2LIST
)
) c2
결과 : : 사전에
| ID | C1 | C2 |
|----|----|----|
| 1 | A | H |
| 1 | B | H |
| 1 | C | H |
| 2 | D | J |
| 2 | D | K |
| 2 | E | J |
| 2 | E | K |
| 3 | F | L |
| 3 | F | M |
| 3 | F | N |
감사합니다.
답변 해 주셔서 감사합니다. – pOrinG