powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как обьединить результат запроса в одну строчку через запятую
40 сообщений из 40, показаны все 2 страниц
как обьединить результат запроса в одну строчку через запятую
    #38039168
qwerty2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как обьединить результат запроса в одну строчку через запятую


допустим select text from table
выдет так
1 text
2 text
3 text

а мне нужно
1 text,text,text
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039175
stil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039182
qwerty2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спс конкат сработал
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039198
qwerty2012,

только смотри, чтобы при установке очередного патча у тебя на выходе с неё CLOB не получился....
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039205
qwerty2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а тогда может попробовать написать функцию которой буду передавать селект, а она будет в одну строчку все соединять
тока вот не знаю как в функцию результат запроса передать
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039221
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwerty2012тока вот не знаю как в функцию результат запроса передать
курсор
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039222
stil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwerty2012спс конкат сработал

Прочитайте и про то и про другое - и там и там есть подводные камни. например wm_concat - недокументируемая функция и как Вам уже сказали - в разных версиях oracle - у нее разный тип возврата. Для 10.2.0,5 и 11g - это clob, для более старых - VARCHAR2
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039256
qwerty2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
create or replace function Table_count (My_Table in varchar2)
return varchar2
is
n number;
s varchar(1000);
begin
s:= 'select text from '||My_Table;
execute immediate s;
return n;
end;

как пройти по результату запроса и сконтенировать все его строки?
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039271
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwerty2012,
авторкак пройти по результату запроса и сконтенировать все его строки?
так же 13476291 for
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039274
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwerty2012,

и туда же ТОП 14
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039287
qwerty2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
о чем ты говоришь 123ий???



create or replace function ListName(p1 number) return varchar2 is
Result varchar2;
begin
open p_cursor FOR
select text from table where id=p1 ;
return(Result);
end ListName;

как по курсору теперь пробежаться?
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039301
qwerty2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
create or replace function ListName(p1 number) return varchar2 is
Result varchar2;
begin
open p_cursor FOR
select text from table where id=p1 ;
LOOP
FETCH p_cursor INTO l_num;
EXIT WHEN p_cursor % notfound;
Result:=Result+l_num.text;
END LOOP;
CLOSE p_cursor;
return(Result);
end ListName;
так правельно?
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039311
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwerty2012,

да прочтите наконец документацию или посмотрите ТОП 14
Код: plsql
1.
2.
3.
4.
for cr in (select text from table where id=p1) loop
  Result :=Result||cr.text||','
end loop;
  return RTrim(Result,',');
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039329
наваять
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
stil,
снкс за wm_concat

аккурат вчера убил кучку времени, на
правда при больше 32k имеем
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
/*
ORA-22813: значение операнда превышает системный лимит
22813. 00000 -  "operand value exceeds system limits"
*Cause:    Object or Collection value was too large. The size of the value
           might have exceeded 30k in a SORT context, or the size might be
           too big for available memory.
*Action:   Choose another value and retry the operation.
*/



(с LISTAGG имеем то же [кажется] ещё раньше [4000]:
Код: plsql
1.
--01489. 00000 -  "result of string concatenation is too long"


)

но если целенаправленно лезть в CLOB то вот такое например можно наваять на коленке:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
create or replace type STRING_TOAGG_TYPE as object
(
-- Purpose : Passes parameters to the string_aggr_type's ODCIAggregateIterate function
-- Attributes
strvalue CLOB, -- varchar2(4000), --32767-plsql -CLOB --sql
separator varchar2(100)
-- Member functions and procedures
-- N.a.
)
/


create or replace type string_aggr_type as object (
 total CLOB , -- varchar2(4000),  --32767-plsql -CLOB --sql
static function ODCIAggregateInitialize(sctx IN OUT string_aggr_type )
 return number,
member function ODCIAggregateIterate(self IN OUT string_aggr_type ,
                                     value IN STRING_TOAGG_TYPE) return number,
member function ODCIAggregateTerminate(self IN string_aggr_type,
                                       returnValue OUT  CLOB, -- varchar2,
                                       flags IN number) return number,
member function ODCIAggregateMerge(self IN OUT string_aggr_type,
                                   ctx2 IN string_aggr_type) return number
);
/
create or replace type body string_aggr_type is

  static function ODCIAggregateInitialize(sctx IN OUT string_aggr_type)
    return number is
  begin
    sctx := string_aggr_type(null);
    return odciconst.success;
  end;
member function ODCIAggregateIterate(self  IN OUT string_aggr_type,
                                     value IN STRING_TOAGG_TYPE) return number is
  begin
    self.total :=
     --можно целенаправленно резать, дабы не вылезать за    
     /* CASE WHEN length(self.total) + length(value.strvalue)+length(value.separator) >= 32767 THEN
        SUBSTR(self.total,0,32763)||'...' --*/  --32767-plsql -CLOB --sql
      /*CASE WHEN length(self.total) + length(value.strvalue)+length(value.separator) >= 4000 THEN
        SUBSTR(self.total,0,3996)||'...'*/
      --ELSE
        CASE WHEN value.strvalue IS NULL THEN self.total
          ELSE 
            CASE WHEN self.total IS NULL THEN NULL  ELSE self.total || value.separator END || value.strvalue
          END
      --END
      ;
    return odciconst.success;
   end;
member function ODCIAggregateTerminate(self        IN string_aggr_type,
                                       returnvalue OUT CLOB, -- varchar2,
                                       flags       IN number
                                      ) return number is
  begin
    returnvalue := self.total; -- ltrim(self.total, ',');
    return odciconst.success;
  end;
member function ODCIAggregateMerge(self IN OUT string_aggr_type,
                                   ctx2 IN string_aggr_type) return number is
  begin
    self.total := self.total || ctx2.total;
    return odciconst.success;
  end;
end;
/
CREATE or replace FUNCTION string_agg(input STRING_TOAGG_TYPE) RETURN CLOB --varchar2
  PARALLEL_ENABLE
  AGGREGATE USING string_aggr_type;
/

-- test
with t as
( select 'a_'||rownum val from dual
CONNECT BY rownum<8000
)
select string_agg(STRING_TOAGG_TYPE(val,'<br>')) as val
,length(string_agg(STRING_TOAGG_TYPE(val,'<br>'))) as length
from t;
--7.16second --length = 78879


-- видим, затраты на то, чтобы получить одну длинную строку великоваты. т.ч. разве что факультативный интерес.
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039338
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наваятьвидим, затраты на то, чтобы получить одну длинную строку великоваты. т.ч. разве что факультативный интерес.clob_agg получается из str_agg буквально заменой пары слов. Если тебе нужна производительность, то убери STRING_TOAGG_TYPE и сравни еще раз. Входной параметр в обоих случаях - varchar2.
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039370
hexcept
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
with u as
(
 select '1 text' text from dual union all
 select '2 text' from dual union all
 select '3 text' from dual union all
 select 'bla-bla-bla' from dual
)
select
 ltrim(rtrim(regexp_replace(
  cast(xmlagg(xmlelement("_",u.text)) as varchar2(2000)),
  '(</?_>)+',','),','),',') str
from u
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039384
наваять
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dbms_photoshopнаваятьвидим, затраты на то, чтобы получить одну длинную строку великоваты. т.ч. разве что факультативный интерес.clob_agg получается из str_agg буквально заменой пары слов. Если тебе нужна производительность, то убери STRING_TOAGG_TYPE и сравни еще раз. Входной параметр в обоих случаях - varchar2.зачем мне производительность без комфорта - той же опции смены разделителя ?
сначала отпилим ноги по колено - потом заставим с этим жыть -- типичный оракел стайл

а то что заменой пары слов - так так вы это верно подметили, так и получено
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039427
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наваять,

Код: plsql
1.
clob_agg(column||'<br>')
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039478
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наваять,

По поводу избыточных конструкторов Никотин когда-то писал 12044200 .
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039601
наваять
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dbms_photoshopнаваять,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
-- ну давайте дальше усложнять вызов
clob_agg(CASE WHEN NOT column IS NULL THEN column||'<br>' END)
-- и кто отрезать ему дефолтные ','|', ' будет? пупкин
-- или clob_agg пойдёт уже без этого избыточного сервиса ?
-- ну и последний separator ещё ручками всякий раз отпиливать

"спасибо, я лучше пешком постою"
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38039691
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наваятьdbms_photoshopнаваять,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
-- ну давайте дальше усложнять вызов
clob_agg(CASE WHEN NOT column IS NULL THEN column||'<br>' END)
-- и кто отрезать ему дефолтные ','|', ' будет? пупкин
-- или clob_agg пойдёт уже без этого избыточного сервиса ?
-- ну и последний separator ещё ручками всякий раз отпиливать

"спасибо, я лучше пешком постою"

Ты прав, эта конструкция крайне сложна и додуматься ой как непросто.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
SQL> select length(rtrim(clob_agg('a_'||rownum||'<br>'),'<br>')) len from dual connect by rownum < 8000;

       LEN
----------
     78879

Elapsed: 00:00:03.00
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38040456
убил,
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dbms_photoshopнаваятьпропущено...
Ты прав, эта конструкция крайне сложна и додуматься ой как непросто.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SQL> select length(rtrim(clob_agg('a_'||rownum||'<br>'),'<br>')) len from dual connect by rownum < 8000;

       LEN
----------
     78879

Elapsed: 00:00:03.00
-- Это микросекунды ?
-- если да - то убил :0)




теперь обвесь это всё проверкой на null, -- в общем случае, а не в случае теста, добавь таки вывод самой строки, и сравним наши микросекунды
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38040482
Фотография dbms_photoshop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
убил,,

Поинт был в том, что вполне можно обойтись без конструирования объекта пользовательского типа для каждой строки.
Но похоже это не для твоего ума.
Тайминг просто скопировался из SQL*Plus. Ясно что сравнивать тайминги на разных серверах нет никакого смысла.
Впрочем, ты можешь писать любой говногод и как угодно тупить... дело твое.
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38081735
dbms_photoshop,
ты не мудри,
пойнт, млин оно нашло хехехе




PS: ты вот лучше скажы, есть ли у вас, у быдлокоидов ораклоидов однообразный способ навязать агрегату порядок агрегирования
или опять только вымороченным частным LISTAGG пользоваться? а в общем случае типа внятного
Код: plsql
1.
SELECT f_agg(val ORDER BY {list_order}) FROM xxx


эта ваша допотопная хреновина не обучена ? многомуд..рый Оракел умеет ?

они чо там, в оракле, не допускали неперестановочных (некоммутативных) агрегатов ?
и так и будут для каждого нового агрегата свой собственный синтаксис рожать ?
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38082859
не зли меняоднообразный способ навязать агрегату порядок агрегирования

про использование в агрегатах конструкции within group (order by ...) читать не пробовал?
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38083052
Добрый Э - Эхне зли меняоднообразный способ навязать агрегату порядок агрегирования

про использование в агрегатах конструкции within group (order by ...) читать не пробовал?
сказано жеж -- "ты не мудри, ты пальцем покажы" , хехехе


-- напишы - попробую, почитайу.


пока видел в оракле только один агрегат, который поддерживает этот самый within group (order by ...)- тот самый listagg, упомянутый выше . беглый поиск по оракловому говнищу, имитирующему хэлп, не выдал развёрнутой справки по юзанию этого чуда на все случаи пользования. то же самое и с беглым гуглением. Т.ч. одна надёжа - набросить на ревнивых быдлокодеров, шобы они наконец сылками стали кидаццо, а не какашками, как у них (да ещё у 1С-конфигурастов) заведено.
Но с первого раза видимо слабо набросил. никого не задело. или никто не знает сцылок, а только бухтит словеса в кучку, типа старого э-эха.


- не хотелось переводить старого, доброго э-эха в разряд пустоболов, но пока нет тынца - приходиццо

поправьте меня:

(ну по самому ора-хелпу ещё пара таких ф-й наскребается - RANK и процентиль)



ЗЫ: особо интересует как эту кляузность прилепить к самопальным агрегатам типа string_agg, ибо в простоте имею
Код: plaintext
1.
2.
3.
4.
ORA-00923: ключевое слово FROM не найдено там, где оно ожидалось
00923. 00000 -  "FROM keyword not found where expected"
*Cause:    
*Action:
Error at Line: 11 Column: 52

причом вот тут

- беглым глазом нифуа не вижу рукояток, позволяющих прикрутить этот самый WITHIN GROUP к самопалу. То ли они отсутствуют, как класс, то ли на них поленились указать. а я типа туплю. ну тогда подымите мне веки, ага.
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38083063
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не зли меня,пока видел в оракле только один агрегат, который поддерживает этот самый within group (order by ...)- тот самый listagg, упомянутый выше .xmlagg. а к каким еще агрегатам имеет смысл порядок? для самопальных, накрайняк, можно сортировать внутри.
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38083064
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще персентиль с сортировкой, ну и first/last
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38083092
-2-еще персентиль с сортировкой, ну и first/lastперсентиль видал, ага.

а где first/last тынцы ?
их у вас есть ?
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38083104
Человек и Кошка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не зли меня,их у вас есть ?
тынц
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38083111
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-а к каким еще агрегатам имеет смысл порядок?
К.О. Тем, у которых, результат зависит от порядка. :)
Например, калькулятору.
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38083132
не зли меня,пока видел в оракле только один агрегат, который поддерживает этот самый within group (order by ...)
Ну, тогда читаем про cume_dist , rank / dense_rank / percent_rank , percentile_cont / percentile_disc
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38083298
не зли меня,FIRST/LAST присутствует только в виде + кляузы KEEP к мин/макс-у.
если я не прав - поправьте.В данном контексте, ка раз, всё с точностью до наоборот - min/max - кляуза к first/last. И даже так будет сказать неправильно, ибо к first/last может быть прикручен совершенно любой другой агрегат, как то sum, count и т.д. и т.п.
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38083526
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не зли меня,прикручиваться к любой аналогичной ф-ии.примерчик, на каких данных sum меняется от перестановки мест слагаемых.
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #38083812
rimall
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
CREATE OR REPLACE FUNCTION scott.get_records2 (
  QUERY_my    IN  VARCHAR2
)
RETURN varchar2
IS
TYPE cur_typ IS REF CURSOR;
    c cur_typ;
  rec VARCHAR2(4000);
  rec_out VARCHAR2(32767);
BEGIN

    OPEN c FOR QUERY_my;
    LOOP
        FETCH c INTO rec;
        EXIT WHEN c%NOTFOUND;
        
        
        rec_out := rec_out || ', ' || rec;
        
    END LOOP;
    CLOSE c;

  RETURN rec_out;
END;



Код: plsql
1.
SELECT DEPT.DEPTNO ,get_records2('SELECT ename FROM emp WHERE DEPTNO='||DEPTNO) FROM dept;



не? )
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
как обьединить результат запроса в одну строчку через запятую
    #39496811
ZiB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZiB
Гость
Здравствуйте.
Мне надо агрегировать текстовую строку вот так:
select string_agg ( n ) from (
select '5' as n from dual union all select '6' from dual
) t --- > '5,6'

Как мне это сделать?

select string_agg (distinct n order by n desc) from (
select '5' as n from dual union all select '5' from dual union all select '6' from dual
) t --- > '6,5'

пока писал уже подсказали
select listagg(n, ',') within group (order by n) from (
select '5' as n from dual union all select '6' from dual
) t
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #39496815
ZiB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZiB
Гость
А distinct только подзапросом )-:
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #39496843
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZiB,

Можно так извернуться, если в данных нет твоего разделителя (в данном случае ",")

Код: plsql
1.
2.
3.
4.
5.
6.
7.
select 
regexp_replace(
listagg(n, ',')  within group (order by n) 
, '([^,]+)(,\1)+', '\1') agg
from (
select '5' as n from dual union all select '6' from dual union all select '6' from dual
) t
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #39496874
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximaXXLМожно так извернуться, если в данных нет твоего разделителя (в данном случае ",")


Есть стандартный способ получения distinct listagg - аналитика

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SQL> with tbl as (
  2               select '5' as n from dual union all
  3               select '6' from dual union all
  4               select '6' from dual
  5              ),
  6   t as (
  7         select  case row_number() over(partition by n order by 1)
  8                   when 1 then n
  9                 end n
 10           from  tbl
 11        )
 12  select  listagg(n,',') within group(order by n)
 13    from  t
 14  /

LISTAGG(N,',')WITHINGROUP(ORDERBYN)
---------------------------------------------------------------------
5,6

SQL> 



SY.
...
Рейтинг: 0 / 0
как обьединить результат запроса в одну строчку через запятую
    #39496887
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SY,

А так аналитика без case
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
with tbl as (
               select '5' as n from dual union all
               select '6' from dual union all
               select '6' from dual
              ),
   t as (
         select  lag(null,1,n) over(partition by n order by 1) n
           from  tbl
        )
  select  listagg(n,',') within group(order by n)
    from  t



Думаю много есть способов
...
Рейтинг: 0 / 0
40 сообщений из 40, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как обьединить результат запроса в одну строчку через запятую
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]