교육의 모집대상을 검색하는 프로그램 인데
하나의 교육의 여러개의 강좌가 있습니다. 강좌별로 모집대상을 선택할수 있는데 검색은 교육에서 합니다.
첨부파일 이미지를 보시면 EC_SEQ는 강좌별 KEY고 E_SEQ 가 교육의 KEY 입니다.
EC_TO_TARGET 는 모지대상입니다.(TOT1 :초등학생 , TOT2:가족 TOT3:유아 TOT4:영아)
EC_EDU_TARGET 필드가 모집대상에 따라 들어있는 값이있습니다. (초등학생은 1,2,3,4,5,6 , 가족은 값이 안들어감 , 유아 A 영아 B)
이런식으로 데이터가 구성됩니다.
모집대상을 선택하고 검색을 하면 넘어오는 값은 초등학교 선택하고 학년을 선택시 1,2,4,5 이런 식으로 값이 넘어옵니다.
1,2,4,5 이렇게 검색했을때 EC_EDU_TARGET 에 저중에 하나만 있어도 검색이되는 쿼리를 짜고 싶습니다.
고수님들 조언및 도움 요청 드립니다.
WITH T AS ( SELECT '1,2' TARGET FROM DUAL UNION ALL SELECT '1,2,3,4,5,6' TARGET FROM DUAL UNION ALL SELECT 'A' TARGET FROM DUAL UNION ALL SELECT 'B' TARGET FROM DUAL UNION ALL SELECT '1,2' TARGET FROM DUAL ) SELECT TARGET FROM T WHERE REGEXP_LIKE( TARGET, REPLACE( '(' || :SEARCH_STR || ')', ',', '|' ))
-- 오라클 기준입니다.