반응형
예상 시나리오
1.
DB : A / TABLE : test1
no | type | value |
---|---|---|
1 | a | Apple |
2 | b | Banana |
3 | c | Car |
DB : B / TABLE : test2
no | member | option |
---|---|---|
1 | Jeffrey | 1,2 |
2 | Worker | 1 |
3 | Joy | 2,3 |
4 | Brian | 3 |
SELECT BB.member, BB.option, (SELECT CONCAT('[', GROUP_CONCAT(AA.`value` ORDER BY AA.`no` SEPARATOR ']['), ']') str
FROM A.test1 AA WHERE `no` IN (option)) str
FROM B.test2 BB
하지만 예상했던 결과는 NULL
로 가득찼고 option
이 1개 인 경우만 출력이 되었다.
Result
member | option | str |
---|---|---|
Jeffrey | 1,2 | (NULL) |
Worker | 1 | [Apple] |
Joy | 2,3 | (NULL) |
Brian | 3 | [Car] |
그래서 FIND_IN_SET
내장함수를 이용했다
2.
SELECT BB.member, BB.option, (SELECT CONCAT('[', GROUP_CONCAT(AA.`value` ORDER BY AA.`no` SEPARATOR ']['), ']') str
FROM A.test1 AA WHERE FIND_IN_SET(`no`, option)) str
FROM B.test2 BB
Result
member | option | str |
---|---|---|
Jeffrey | 1,2 | [Apple][Banana] |
Worker | 1 | [Apple] |
Joy | 2,3 | [Banana][Car] |
Brian | 3 | [Car] |
반응형
'Database > MySQL' 카테고리의 다른 글
Window Server ODBC를 이용한 외부 DB 데이터 가져오기 (1) | 2020.12.11 |
---|---|
데이터 중복 값 최신 1개 남기고 삭제 (0) | 2020.11.19 |
log_bin_trust_function_creators MySQL 함수 사용 변수설정 (0) | 2020.01.16 |
[MySQL] 테이블의 컬럼이름을 Pojo클래스 형태로 생성해 주는 SQL (0) | 2019.12.11 |
Value '0000-00-00' can not be represented as java.sql.Timestamp (0) | 2019.11.12 |