프로그램개발/DB(MySQL,MariaDB,MongoDB)
연속데이타 가져오기
크레도스
2017. 3. 29. 17:53
-- tbl ------
b
-------------
10
30
50
15
13 -->
12
55
100
123
30
50
15
101 -->
...
--------------
결과테이블
--------------
b
--------------
13
101
--------------
안녕하세요.
혼자 해결하기에 어려움이 있어 한수 가르침을 받고자 질문 드립니다.
제가 입력값이 예를들어 30,50,15일때
query문을 통해 b값을 찾으려고 합니다.
입력값이 수시로 변할때
퀴리문을 어떻게 해야 할지 부탁드립니다.
=>답변
문제 해결을 위해서는 정렬기준이 필요합니다.
idx 컬럼으로 정렬한다고 가정하고 작성했습니다.
SELECT idx, b
FROM (SELECT idx, b
, CASE WHEN @x LIKE '%,30,50,15' THEN 1 ELSE 0 END flag
, @x := CONCAT(@x, ',', b)
FROM (SELECT idx, b FROM test ORDER BY idx) a
, (SELECT @x := '') b
) c
WHERE flag = 1
;