Выберите обратный результат SQL в виде списка строк

Имея sql, например что-то вроде следующего, что приводит к нескольким строкам с одним значением. Я ищу другой SQL, чем SELECT * FROM some_sql, который приводит к одной строке с разделенными запятыми значениями.


WITH some_sql AS (
  SELECT 1 FROM DUAL
  UNION
  SELECT 2 FROM DUAL
)
SELECT * FROM some_sql

этот SQL-запрос приводит к двум строкам со значениями 1 и 2. Я использую SQl, в результате чего получаем 1,2 без изменения кода 'some_sql'.

2 ответа

Решение

Если вы на 11G, вы можете использовать LISTAGG

WITH some_sql AS (
  SELECT 1 x FROM DUAL
  UNION
  SELECT 2 x FROM DUAL
)
SELECT LISTAGG(x, ',') WITHIN GROUP(ORDER BY x) FROM some_sql
Другие вопросы по тегам