본문 바로가기
oracle

스트링 문자열을 테이블의 컬럼으로 만들어 조인하고 싶을때(가상 테이블)

by chunkind 2018. 10. 2.
반응형

 가상 테이블 만들기

WITH USER_NAME AS(
	SELECT '홍길동, 이순신, 정약용, 안중근, 유관순, 김두환' AS NAMES FROM DUAL
)
SELECT TRIM(regexp_substr(NAMES, '[^,]+', 1, LEVEL)) AS NAME
  FROM USER_NAME /*가상테이블 TT*/
CONNECT BY INSTR(NAMES, ',', 1, LEVEL - 1) > 0
;

 

가상 테이블과 조인하기

SELECT A.ORD_NO
  FROM (
        WITH USER_NAME AS(
          SELECT '홍길동, 이순신, 정약용, 안중근, 유관순, 김두환' AS NAMES FROM DUAL
        )
        SELECT TRIM(regexp_substr(NAMES, '[^,]+', 1, LEVEL)) AS NAME
          FROM USER_NAME /*가상테이블 TT*/
        CONNECT BY INSTR(NAMES, ',', 1, LEVEL - 1) > 0
       ) A
  INNER JOIN TABLE_NAME B ON A.NAME = B.NAME -- 테이블 조인..
 WHERE 1=1
--   AND 조건....
;

 

반응형