Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Данные одного столбца в одну строку  [new]
hazzze
Member

Откуда:
Сообщений: 38
Теги: данные информация ячейка одного один столбца столбец строка в строчку строку переменная переменную строкового строчного типа тип

Задача: Необходимо данные одного столбца таблицы поместить в одну переменную строкового типа.

Необязательные условия: Во время сбора данных в переменную, необходимо постоянно проверять длину символов в строке на данный момент, т.е. прибавили к переменной строчку еще из одной ячейки и сразу проверили получившуюся длину.
29 май 13, 20:19    [14366712]     Ответить | Цитировать Сообщить модератору
 Re: Данные одного столбца в одну строку  [new]
Изя Кацман
Member

Откуда: Великий Эксперимент
Сообщений: 2019
Смотри функцию LISTAGG, камрад
29 май 13, 20:23    [14366722]     Ответить | Цитировать Сообщить модератору
 Re: Данные одного столбца в одну строку  [new]
hazzze
Member

Откуда:
Сообщений: 38
Изя Кацман
Смотри функцию LISTAGG, камрад

Вроде он в 11 версии же появляется? Мне бы решение, которые и на 9 версии заработает (сорри, забыл упомянуть)
29 май 13, 20:31    [14366747]     Ответить | Цитировать Сообщить модератору
 Re: Данные одного столбца в одну строку  [new]
--Eugene--
Member

Откуда: Боярышник
Сообщений: 2170
hazzze,

select to_char(wm_concat(level)) from dual connect by level < 10
29 май 13, 20:31    [14366751]     Ответить | Цитировать Сообщить модератору
 Re: Данные одного столбца в одну строку  [new]
hazzze
Member

Откуда:
Сообщений: 38
--Eugene--
hazzze,

select to_char(wm_concat(level)) from dual connect by level < 10

Интересно... а что делает by level < 10 ?
29 май 13, 20:32    [14366753]     Ответить | Цитировать Сообщить модератору
 Re: Данные одного столбца в одну строку  [new]
--Eugene--
Member

Откуда: Боярышник
Сообщений: 2170
hazzze,

есть лишь один способ узнать
29 май 13, 20:33    [14366755]     Ответить | Цитировать Сообщить модератору
 Re: Данные одного столбца в одну строку  [new]
Жук в муравейнике
Member

Откуда:
Сообщений: 717
Google STRAGG
29 май 13, 20:39    [14366773]     Ответить | Цитировать Сообщить модератору
 Re: Данные одного столбца в одну строку  [new]
hazzze
Member

Откуда:
Сообщений: 38
--Eugene--
hazzze,

есть лишь один способ узнать

ну, как я понял, если написать так же, то возьмется первые 9 строк..
Я понял еще одно но, которое забыл упомянуть, необходимо вставлять символ перехода строки между соединяемыми элементами... Как быть тогда?
29 май 13, 20:40    [14366778]     Ответить | Цитировать Сообщить модератору
 Re: Данные одного столбца в одну строку  [new]
hazzze
Member

Откуда:
Сообщений: 38
hazzze
--Eugene--
hazzze,

есть лишь один способ узнать

ну, как я понял, если написать так же, то возьмется первые 9 строк..
Я понял еще одно но, которое забыл упомянуть, необходимо вставлять символ перехода строки между соединяемыми элементами... Как быть тогда?

А, стопэ, wm_concat - делит запятыми.. тэк.. а где взять текст данной функции?
29 май 13, 20:42    [14366782]     Ответить | Цитировать Сообщить модератору
 Re: Данные одного столбца в одну строку  [new]
stax..
Guest
hazzze
hazzze
пропущено...

ну, как я понял, если написать так же, то возьмется первые 9 строк..
Я понял еще одно но, которое забыл упомянуть, необходимо вставлять символ перехода строки между соединяемыми элементами... Как быть тогда?

А, стопэ, wm_concat - делит запятыми.. тэк.. а где взять текст данной функции?

зачем Вам недокуменитированная wm_concat и НЕПОДДЕРЖИВАЕМАЯ
смотрите сообщение Жук в муравейнике и Изя Кацман


....
stax
29 май 13, 20:59    [14366836]     Ответить | Цитировать Сообщить модератору
 Re: Данные одного столбца в одну строку  [new]
suPPLer
Member

Откуда: Харків, Україна
Сообщений: 7794
Блог
hazzze
Задача: Необходимо данные одного столбца таблицы поместить в одну переменную строкового типа.


RTFM ТОП14.
29 май 13, 21:01    [14366844]     Ответить | Цитировать Сообщить модератору
 Re: Данные одного столбца в одну строку  [new]
ILoveCoffee
Member

Откуда: Astana
Сообщений: 986
4 fun:
select table_name,
       substr(listagg(table_name, '') within group(order by table_name)
              over(partition by grp),
              1,
              length_) list_,
              length_
  from (select table_name,
               sum(length(table_name) + 1) over(partition by grp order by table_name rows between unbounded preceding and current row) - 1 length_,
               grp
          from (select table_name,
                       floor(((sum(length(table_name) + 1)
                              over(order by table_name rows between unbounded
                                    preceding and current row) - 1) / 4000)) grp
                  from dba_tables))
 order by table_name;
29 май 13, 21:03    [14366857]     Ответить | Цитировать Сообщить модератору
 Re: Данные одного столбца в одну строку  [new]
--Eugene--
Member

Откуда: Боярышник
Сообщений: 2170
stax..
зачем Вам недокуменитированная wm_concat и НЕПОДДЕРЖИВАЕМАЯ
ой, да ладно
"неподдерживаемая"? "недокументированная"? - ну и что?
главное - работает
=)
29 май 13, 21:14    [14366907]     Ответить | Цитировать Сообщить модератору
 Re: Данные одного столбца в одну строку  [new]
ILoveCoffee
Member

Откуда: Astana
Сообщений: 986
--Eugene--,
никто не обещает что будет работать, никто не говорит как работает в зависимости от версии.
29 май 13, 21:23    [14366942]     Ответить | Цитировать Сообщить модератору
 Re: Данные одного столбца в одну строку  [new]
stax..
Guest
--Eugene--
stax..
зачем Вам недокуменитированная wm_concat и НЕПОДДЕРЖИВАЕМАЯ
ой, да ладно
"неподдерживаемая"? "недокументированная"? - ну и что?
главное - работает
=)

да я ничего против не имею, даж можно унврапом пройтись


просто hazzze луче самому напісать UDAF, со своими ограничениями
есть конешо нюанс, как передать в UDAF параметром макс длину строки, напр 555

......
stax
29 май 13, 21:35    [14366998]     Ответить | Цитировать Сообщить модератору
 Re: Данные одного столбца в одну строку  [new]
-2-
Member

Откуда:
Сообщений: 15330
hazzze
Задача: Необходимо данные одного столбца таблицы поместить в одну переменную строкового типа.
Даже, если требуется поместиь не одно, а все значения столбца в переменную, не очевидно, что эти значения там должны оказаться одновременно как конкатенация. Намек последующего условия - "прибавили" - предполагает, что столбец числового типа и возможно требуется to_char(sum(столбец)).
29 май 13, 21:35    [14366999]     Ответить | Цитировать Сообщить модератору
 Re: Данные одного столбца в одну строку  [new]
stax..
Guest
-2-
hazzze
Задача: Необходимо данные одного столбца таблицы поместить в одну переменную строкового типа.
Даже, если требуется поместиь не одно, а все значения столбца в переменную, не очевидно, что эти значения там должны оказаться одновременно как конкатенация. Намек последующего условия - "прибавили" - предполагает, что столбец числового типа и возможно требуется to_char(sum(столбец)).

философствуете
так зачем тогда дліну проверять?

.....
stax
29 май 13, 21:39    [14367025]     Ответить | Цитировать Сообщить модератору
 Re: Данные одного столбца в одну строку  [new]
-2-
Member

Откуда:
Сообщений: 15330
stax..
так зачем тогда дліну проверять?
Ну окажется один символ длиннее другого... В задаче не сказано, на что ее проверять и что делать с результатми измерений.
29 май 13, 21:54    [14367085]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить