컬럼안에 있는 값자체에 대한 중복도 걸러 낼 수 있나요? 0 2 968

by 구루업투 [SQL Query] [2017.08.22 14:34:44]


A

num 지역
1 한국,중국,한국,일본,한국
2 미국,일본,한국,일본

 

B

num 지역
1 한국,중국,일본
2 미국,일본,한국

 

 

A테이블에 중복된 데이터가 있는데

B테이블 처럼 중복 제거가 가능 할 까요? (아래처럼 컬럼을 추가해서 결과가 나와도 상관은 없습니다~)

 

num 지역 지역2
1 한국,중국,한국,일본,한국 한국,중국,일본
2 미국,일본,한국,일본 미국,일본,한국

답변부탁드립니다!

by 우리집아찌 [2017.08.22 15:06:35]
WITH T1 AS (
SELECT 1 GB , '한국,중국,한국,일본,한국' AREA FROM DUAL UNION ALL
SELECT 2 	 , '미국,일본,한국,일본' FROM DUAL 
), T2 AS (
SELECT LEVEL LV FROM DUAL CONNECT BY LEVEL <= 10
)

SELECT GB 
      , LISTAGG(AREA,',') WITHIN GROUP (ORDER BY AREA)
  FROM (SELECT DISTINCT GB
             , REGEXP_SUBSTR(AREA,'[^,]+' , 1 , LV ) AREA
          FROM T1 A 
              ,T2 B
         WHERE B.LV <= REGEXP_COUNT(AREA,',') + 1
        )
 GROUP BY GB

 


by 구루업투 [2017.08.22 16:38:31]

감사합니다.

오늘도배우고갑니다 ^^

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입