Выберите обратный результат 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 ответа
Решение
2010-12-06 13:50
Если вы на 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