2016-10-22 5 views
-2

Это моя исходная таблица. Я хочу объединить данные столбцов и отображать только уникальные данные.Комбинированные данные столбцов показывают только уникальное значение

SQL> SELECT * FROM DUMMY; 

PLAN_CD    PLAN_NM    CLASS 
-------------------- -------------------- ------ 
D01501    DENTAL    AA 
D01501    DENTAL    AB 
D01501    DENTAL    AC 
V01501    VISION    AA 
V01501    VISION    AB 

И я хочу сделать так.

PLAN_CD    PLAN_NM    
-------    -------- 
D01501    DENTAL,AA,AB,AC    
V01501    VISION,AA,AB 

ответ

0
SELECT PLAN_CD, 
     LISTAGG(PLAN_NM, ',') WITHIN GROUP (ORDER BY PLAN_NM) 
    FROM 
    (
    SELECT PLAN_CD, 
      PLAN_NM AS PLAN_NM 
     FROM DUMMY 
    UNION 
    SELECT PLAN_CD, 
      CLASS AS PLAN_NM 
     FROM DUMMY 
    ) 
GROUP BY PLAN_CD 
ORDER BY PLAN_CD; 
+0

Благодаря Тея для придания solution.But он будет работать на Oracle 11g. Но теперь я работаю над оракулом 10g. Дайте мне решение для оракула 10g. Спасибо заранее. –

+0

Любой, пожалуйста, помогите мне. Какой бы выход я не хотел, дайте мне, как это, и снова я говорю, что я использую oracle 10g. Дайте мне решение для оракула 10g. заранее спасибо –