code 필드의 데이타가 '100|200|300' )이라면
이래처럼 조회하니까 100 200 300 300 300 이 조회됩니다.
구분자로 나눈 값이 3개일경우만 예를 들었고 아래처럼하면 불필요한 4,5번째가 3번째하고 같은 데이타로 조회되는데,
구분자로 나눈값의 수가 정해져있지 않을경우(하나일수도있고 열개 일수도있고..)어떻게 해야되나요.
아. 그리고 값이 횡(컬럼1, 컬럼2...)이런식으로 나오면 안되고, 행으로 나와야됩니다.
이 값을 다른 테이블에 in조건으로 걸거거든요.
php같은거로 프로그램 처리하는거 말고 방법이 있나요?
Select code, substring_index(code, '|', 1) as ce_1,
substring_index(substring_index(code, '|', 2), '|', -1) as ce_2,
substring_index(substring_index(code, '|', 3), '|', -1) as ce_3,
substring_index(substring_index(code, '|', 4), '|', -1) as ce_4,
substring_index(substring_index(code, '|', 5), '|', -1) as ce_5
from t_test
Where no = 10 |