Объединить несколько значений из столбца в строку без добавления какого-либо значения - PullRequest
1 голос
/ 07 мая 2019

Я должен дать описание возможных значений для каждой строки в поле и Мне не нужно показывать базовый класс.

    SELECT A.COD_PUNTO, 
wm_concat(SUBSTR(C.DESCARDPRFCFR, 22, 10)) AS LIST
FROM FR_VALID_PROF A 
    INNER JOIN PUN B  
        ON A.COD_PUNTO = B.COD_PUNTO
    INNER JOIN DANAFR C 
        ON A.CODPRF = C.CARDPRFCFR
GROUP BY A.COD_PUNTO

Мой результат:

COD_PUNTO  |  LIST
---------------------
0          | BASE, SUNDAY
1          | BASE, SUNDAY, ORANGE, ORANGE
2          | BASE, BASE, SUNDAY, SUNDAY, ORANGE, ORANGE, ORANGE

но я бы хотел

COD_PUNTO  |  LIST
---------------------
0          | SUNDAY
1          | SUNDAY, ORANGE
2          | SUNDAY, ORANGE

Я не могу использовать listagg, для того, что я использовал wm_concat.

1 Ответ

0 голосов
/ 07 мая 2019

использовать подзапрос и предложение DISTINCT:

SELECT COD_PUNTO, wm_concat(SUBSTR(DESCARDPRFCFR, 22, 10)) AS LIST
FROM (
  SELECT DISTINCT A.COD_PUNTO, C.DESCARDPRFCFR
  FROM FR_VALID_PROF A 
  INNER JOIN PUN B  
        ON A.COD_PUNTO = B.COD_PUNTO
  INNER JOIN DANAFR C 
        ON A.CODPRF = C.CARDPRFCFR
)
WHERE DESCARDPRFCFR <> 'BASE'
GROUP BY COD_PUNTO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...