как использовать COALESCE в Oracle для объединения данных из двух строк - PullRequest
0 голосов
/ 23 октября 2009

У меня есть следующий запрос, который находится внутри цикла и ломает

SELECT   COALESCE(v_user_grade || ', ', '') || user_grade
          INTO v_user_grade
          FROM EXPIRATION_HISTORY__2
           WHERE hist_id = v_test;

Таким образом, в основном на каждой итерации цикла мы получаем новое значение для v_test. В некоторых случаях этот запрос будет возвращать несколько строк. это когда он ломается.

То, что я хочу, это:

Данные в EXPIRATION_HISTORY__2:

hist_id    user_grade
301     ADMIN
302     ADMIN
302     USER

так что теперь на основе вышеуказанных данных. ... в конце итерации, где v_test = 302. Я хотел бы, чтобы v_user_grade содержал (ADMIN, USER)

1 Ответ

1 голос
/ 23 октября 2009

Я думаю, что следующая ссылка описывает именно то, что вы хотите:

http://www.oracle -base.com / статьи / 10г / StringAggregationTechniques.php

Методы агрегирования строк

В некоторых случаях необходимо агрегировать данные из ряда строк в одна строка, дающая список данных связан с конкретным значением.

Я не эксперт по Oracle; но есть несколько решений, в зависимости от среды БД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...