안녕하세요 쿼리 작성중 이해가 안가는 부분이 있어서 질문드립니다.
여러가지 테이블을 조인하면서 사용자가 여러가지 값을 가지는 경우가 있습니다.
사용자테이블이 있고
분류테이블 분류iD(A), 분류1(B), 분류2(C)가 있다고 가정했을때
사용자아아디 | 사용자이름 | 사용자분류목록 |
001 | 홍길동 | 분류1, 분류2, 분류5, 분류8 |
001 홍길동
(WHERE은 분류ID와 사용자정보를 가진 테이블을 통해서 일치하게 만들었습니다)
분류1과 분류2를 같이 넣어야해서
SELECT A.USERID AS 사용자아이디 ,Aggr_Concat(B.B || ', ' || B.C) AS 분류 FROM 사용자테이블 A, 분류테이블 B
이런식으로 넣어서 사용하고있었습니다
하지만 중복제거를 해야해서 DISTINCT를 찾았고
SELECT A.USERID AS 사용자아이디 ,Aggr_Concat(DISTINCT B.B) AS 분류1 FROM 사용자테이블 A, 분류테이블 B
문제는 현재 제가 사용한 야매 쿼리로는 DISTINCT 적용이 안되다보니
UNION을이용해서
SELECT A AS 분류아이디, B AS 분류항목 FROM 분류테이블 UNION SELECT A AS 분류아이디 , C AS 분류항목 FROM 분류테이블
이런식으로 데이터를 합치는건 되었는데
Aggr_Concat(DISTINCT....) 와 합치기 위해서 여러가지 방법을 사용해봤는데 너무 어려운것같습니다..ㅠㅠ
혹시 더 좋은 쿼리가 있는지 말씀해주시면 감사하겠습니다