2014-02-04 3 views
0

я иметь следующий запрос (SQL)конкатенации SQL результат запроса несколько строк в одну строку

select x from Test 
group by x 
having count(x)>1; 

я хочу конкатенации результат в один ряд, любой идеи. примечание: для простого запроса у меня есть функция wm_concat и она работает нормально, но она не работает для вышеуказанного запроса может быть из-за группировки.

любая помощь пожалуйста?

+0

возможно дубликат [как для извлечения двух столбцов данных в A, формат B в Oracle] (http://stackoverflow.com/questions/12145379/how-to-retrieve-two-columns-data-in-ab-format-in-oracle) или [это] (http://stackoverflow.com/questions/4686543/sql-query-to-concatenate-column-values-from-multiple-rows-in-oracle) или [this] (http://stackoverflow.com/questions/1120706/is-there-an- Oracle-SQL-запросы, что-агрегаты и множество рядов-в-один-ряд) –

ответ

0

Здесь вы можете сделать это. Обратите внимание, что я включил аргумент в функции listagg добавить через запятую в качестве разделителя, это могут быть исключены или изменены по мере необходимости:

select listagg(x, ',') 
     within group (order by x) as concatenated_result 
    from (select x 
      from Test 
     group by prxod_id 
     having count(x)>1 
     ); 
Смежные вопросы