Выпуск в листаг - PullRequest
       7

Выпуск в листаг

1 голос
/ 16 мая 2019

Я должен объединить 2 столбца и поставить значение.но проблема в том, что даже если оба значения равны нулю, он все равно дает (:) согласно приведенному ниже синтаксису.есть ли в любом случае мы можем удалить столбец в выводе, если оба значения являются нулевыми.

listagg(AP.ISSUE_ID||':'||ISS.ISSUE_DESCRIPTION ,'; ') within group(order by AP.ISSUE_ID||':'||ISS.ISSUE_DESCRIPTION) DESCRIPTION,

Ответы [ 2 ]

4 голосов
/ 16 мая 2019

Если вы хотите игнорировать столбец в listagg(), установите значение NULL. В этом случае Oracle принимает NULL значения для конкатенации строк. Итак, давайте сделаем тест после конкатенации:

listagg(nullif(AP.ISSUE_ID ||| ':' || ISS.ISSUE_DESCRIPTION, ':'),'; ')
    within group (order by AP.ISSUE_ID || ':'|| ISS.ISSUE_DESCRIPTION) as DESCRIPTION,
1 голос
/ 16 мая 2019
AP.ISSUE_ID || nvl2(AP.ISSUE_ID || ISS.ISSUE_DESCRIPTION, ':' || ISS.ISSUE_DESCRIPTION, null)
...