킬럼에 A, B, C 형태로 문자열이 있고 이걸 in 인라인 쿼리로 조회가 가능할까요?
데이터 테이블의 칼럼에 원래는
A
B
C
이런식으로 데이터가 들어가야하는데 고객의 요구로 복수선택이 가능하게 해달라는 요구로 아래와같이 들어가게 되었습니다. ㅡ.ㅡ
A
A, B
C
A, B, C
이런식으로...
그런데 해당 코드들을 조회하는 조회쿼리는 공통쪽 테이블에서 조회해와서 포함여부를 체크하거든요...
그래서 기존 SQL문은 만약 기존 데이터가 col 칼럼에 A 였다면
from DATA_TABLE
where 1=1
and col in ( select 공통코드 from 코드테이블 where 코드구분 ...... )
이런식으로 걸려있었는데
데이타테이블의 데이터 col 이 A, B, C 이런식으로 들어가니 위 쿼리에서 코드가 콤마구분으로
복수개로 입력된 데이터는 조회가 되지 않고있습니다
(Data_Table에는 A, B, C 이렇게 들어가있지만 인라인뷰의 코드테이블의 Select칼럼은 A 또는 B 또는 C 의 복수개로 조회되니).
인라인뷰의 코드테이블쪽 데이터는 복수개의 row가 리턴되어서 like검색도 못하는 상황이라,
이런 경우 어떤식으로 풀어야 할지 난감하네요...
프로시져 없이 SQL구문만으로 가능할까요?
SQL 사용자 Tip & 강좌 에서 구분자로 검색해 보세요...
열에 구분자로 되어 있는 부분을 행값으로 나오게 하고 이걸로 in 하시는 방법으로 가능 할거구요...
자료가 많아 속도에 문제가 발생한다면 별도의 테이블을 만드신 다음 트리거로 분리되게 처리하시고 이걸로 검색 하시는것도 방법..