쿼리 결과를 REGEXP_LIKE구문에 넣을 수 있나요..? 0 1 2,818

by 열심히할께요 [SQL Query] [2014.11.06 15:53:59]


오라클 REGEXP_LIKE 질문드립니다..

SELECT * FROM TABLE1

WHERE REGEXP_LIKE(FIELD1 , ' EXP1 | EXP2   | EXP3 ') 이런식으로 사용하죠?

그런데 지금 현재  저 EXP1,2,3에 쿼리 결과를 넣고 싶습니다...

쿼리에서  'A1' ,'A2','A3' 라는 다중 행을 리턴 한다면

저 EXP에 어떻게 넣을 수 있을까요..?

대체적인 예로 쓰자면..

SELECT * FROM TABLE1

WHERE REGEXP_LIKE(FIELD1,  'SELECT FIELD1 FROM TABLE2'+%')  <-- 이러한 형식으로 넣을 순 없는지요..?

데이터를 나눠서  OR문에 꼭 걸어야하나요..? 

by 비주류 [2014.11.06 16:28:00]
-- 이게 맞는지요?
WITH t1 AS (SELECT '01' c1 FROM DUAL UNION ALL
            SELECT '02' FROM DUAL UNION ALL
            SELECT '03' FROM DUAL UNION ALL
            SELECT '10' FROM DUAL),
     t2 AS (SELECT '1' c1 FROM DUAL UNION ALL
            SELECT '2' FROM DUAL)
SELECT  *
FROM    t1
WHERE   REGEXP_LIKE(c1, (SELECT  LISTAGG (c1, '|') WITHIN GROUP (ORDER BY c1)
                         FROM    t2 ))  

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입