쿼리 질문 드려요 0 2 444

by 탑개발자 [SQL Query] [2018.05.28 16:12:39]


1.PNG (8,006Bytes)

교육의 모집대상을 검색하는 프로그램 인데 

하나의 교육의 여러개의 강좌가 있습니다. 강좌별로 모집대상을 선택할수 있는데 검색은 교육에서 합니다.

첨부파일 이미지를 보시면 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 에 저중에 하나만 있어도 검색이되는 쿼리를 짜고 싶습니다. 

고수님들 조언및 도움 요청 드립니다.

 

 

by 신이만든지기 [2018.05.28 16:22:42]
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 || ')', ',', '|' ))

-- 오라클 기준입니다.


by 탑개발자 [2018.05.28 17:44:37]

답변 감사합니다. 많은 도움이 됬습니다.

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