오라클의 여러 열에서 쉼표로 구분 된 값을 행으로 변환하는 테이블에서보기를 만들려고합니다.여러 열에서 행으로 쉼표로 구분 된 값 변환
하나의 열에 대해이 작업을 성공적으로 수행했습니다. 그러나 나는 두세 개의 열에 대해 그것을 할 수 없다.
하나의 열에 대해 성공적으로 실행되는 다음 스크립트를 사용했습니다.
Create VIEW MULTITESET AS
SELECT rownum AS ID1,Tagging.COMMENTS,Tagging.category,Tagging.STATUS,
trim(regexp_substr(Tagging.OBJ_ID, '[^,]+', 1, lines.column_value)) OBJ_ID
FROM Tagging,
TABLE (CAST (MULTISET
(SELECT LEVEL FROM dual
CONNECT BY instr(Tagging.OBJ_ID, ',', 1, LEVEL - 1) > 0
) AS sys.odciNumberList)) lines
ORDER BY id, lines.column_value
는 지금은 열 OBJ_ID
에 대한 등 OBJname
라는 이름의 두 번째 열에 대해 동일한 작업을 수행해야합니다.
그래서 나는 다음과 같이 바보 같은 것을 시도했다.
Create VIEW MULTITESET AS
SELECT rownum AS ID1,Tagging.COMMENTS,Tagging.category,Tagging.STATUS,
trim(regexp_substr(Tagging.OBJ_ID, '[^,]+', 1, lines.column_value)) OBJ_ID
FROM Tagging,
TABLE (CAST (MULTISET
(SELECT LEVEL FROM dual
CONNECT BY instr(Tagging.OBJ_ID, ',', 1, LEVEL - 1) > 0
) AS sys.odciNumberList)) lines
ORDER BY id, lines.column_value ,
trim(regexp_substr(Tagging.OBJname , '[^,]+', 1, lines.column_value)) OBJname
FROM Tagging,
TABLE (CAST (MULTISET
(SELECT LEVEL FROM dual
CONNECT BY instr(Tagging.OBJname , ',', 1, LEVEL - 1) > 0
) AS sys.odciNumberList)) lines
ORDER BY id, lines.column_value
너트 쉘에서는 아래 그림의 tabel-A를 table-B로 변환하고 싶습니다. 어떻게해야합니까?
내 실제보기 쿼리는 다음과 같습니다
SELECT rownum AS TRACKID2, LEAPFROG_TAGGING.ID, LEAPFROG_TAGGING.CREATED_DATE,
LEAPFROG_TAGGING.CREATED_BY, LEAPFROG_TAGGING.COMMENTS,
leapfrog_tagging.category, LEAPFROG_TAGGING.STATUS, LEAPFROG_TAGGING.OBJ_NAME,
trim(regexp_substr(LEAPFROG_TAGGING.OBJ_ID, '[^,]+', 1, lines.column_value)) OBJ_ID
FROM LEAPFROG_TAGGING,
TABLE (CAST (MULTISET (
SELECT LEVEL FROM dual
CONNECT BY instr(LEAPFROG_TAGGING.OBJ_ID, ',', 1, LEVEL - 1) > 0
) AS sys.odciNumberList)) lines
ORDER BY id, lines.column_value;
감사 알렉스 (! 또는 더 의미있는 이름)의 최종 선택 목록에서, 예를 들어
rn
을 포함한다. 나는 이것을 시도했다. 하지만 난 "02000 오류가 발생했습니다.00000 - " –내 실제보기는"%의 키워드 누락 " TRACKID2 AS SELECT ROWNUM, LEAPFROG_TAGGING.ID, LEAPFROG_TAGGING.CREATED_DATE, LEAPFROG_TAGGING.CREATED_BY, LEAPFROG_TAGGING.COMMENTS, leapfrog_tagging.category, AS VIEW를 만들 LEAPFROG_TAGGING.STATUS, LEAPFROG_TAGGING.OBJ_NAME, 트림 (REGEXP_SUBSTR (LEAPFROG_TAGGING.OBJ_ID '[^] +'1 lines.column_value)) OBJ_ID LEAPFROG_TAGGING FROM , TABLE (CAST는 (MULTISET 은 (존재하는 레벨을 선택 이중 연결 번호가 instr (LEAPFROG_TAGGING.OBJ_ID, ',', 1, LEVEL - 1)> 0 ) AS sys.odciNumberList)) 행 ORDER BY id, lines.column_value; –
'CREATE VIEW AS SELECT'에 새보기의 이름이 누락되었습니다. 그러나 주석에 코드를 덤프하지 마십시오. 읽기가 정말 어렵습니다. 관련성이있는 경우 질문을 수정하십시오. 해당 코드가 누락 된 키워드를 얻거나 내 대답에 코드를 실행합니까? 아마도 당신은 아마도 약간 수정해야만했을 것입니다. –