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

Откуда:
Сообщений: 2
with t as
(select 'qwe' from dual
union all
select 'rty' from dual
union all
select 'uiop' from dual)

написать селект который вернет сцепленную строку 'qwertyuiop'

результат не должен зависеть от значений строк!
именно запрос должен быть!
16 фев 17, 13:03    [20217429]     Ответить | Цитировать Сообщить модератору
 Re: селект который вернет сцепленную стрку  [new]
tru55
Member

Откуда: СПб
Сообщений: 19593
ТОП популярных вопросов N14
16 фев 17, 13:06    [20217452]     Ответить | Цитировать Сообщить модератору
 Re: селект который вернет сцепленную стрку  [new]
Dayl
Member

Откуда: дефолт-сити
Сообщений: 50
user...,

Первое, что пришло в голову:

with t
 as
  (
   select 'qwe' as col from dual
   union all
   select 'rty' as col from dual
   union all
   select 'uiop' as col from dual
  )

select listagg(t.col) within group(order by t.col)
  from t;
16 фев 17, 13:09    [20217469]     Ответить | Цитировать Сообщить модератору
 Re: селект который вернет сцепленную стрку  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром началась. КЯЗ
Сообщений: 26616
user...
результат не должен зависеть от значений строк!
Он должен зависеть от порядка, которого здесь нет.
16 фев 17, 13:12    [20217486]     Ответить | Цитировать Сообщить модератору
 Re: селект который вернет сцепленную стрку  [new]
user...
Member

Откуда:
Сообщений: 2
Dayl, работает. Большое спасибо!
16 фев 17, 13:22    [20217538]     Ответить | Цитировать Сообщить модератору
 Re: селект который вернет сцепленную стрку  [new]
Lary Denis
Guest
user...
написать селект который вернет сцепленную строку 'qwertyuiop'

результат не должен зависеть от значений строк!


Такая сортировка гарантирует тебе нужную последовательность? А для такого запроса?

with t
 as
  (
   select 'zqwe' as col from dual
   union all
   select 'rty' as col from dual
   union all
   select 'uiop' as col from dual
  )

select listagg(t.col) within group(order by t.col)
  from t;


Elic тебе про это намекал.
16 фев 17, 13:38    [20217619]     Ответить | Цитировать Сообщить модератору
 Re: селект который вернет сцепленную стрку  [new]
Dayl
Member

Откуда: дефолт-сити
Сообщений: 50
user..., обрати внимание на пост Lary Denis .

В приведенном им примере сцепленная строка получится вовсе не "zqwertyuiop", как ожидалось, а "rtyuiopzqwe", так как перед конкатенацией производится сортировка строк.
16 фев 17, 13:44    [20217651]     Ответить | Цитировать Сообщить модератору
 Re: селект который вернет сцепленную стрку  [new]
-2-
Member

Откуда:
Сообщений: 12843
user...
результат не должен зависеть от значений строк!
Буквально:
with t as
(select 'qwe' from dual
union all
select 'rty' from dual
union all
select 'uiop' from dual)
select 'qwertyuiop' from dual
16 фев 17, 13:50    [20217673]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить