Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Слияние двух массивов / 7 сообщений из 7, страница 1 из 1
22.01.2008, 16:11
    #35079306
Kerif
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние двух массивов
Задравствуйте! Очень нужно решить именно на SQL одним запросом следующую задачу.

Дано:
ARRAY['a', 'b'], ARRAY['c', 'd'].
Можно ли каким-нибудь хитрым способом получить на выходе ARRAY['a c', 'b d']?
...
Рейтинг: 0 / 0
22.01.2008, 16:18
    #35079332
Funny_Falcon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние двух массивов
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
create aggregate array_build(anyelement) (
  SFUNC = array_append,
  STYPE = anyarray
);

select array_build( (ARRAY['a','b'])[i] || ' ' || (ARRAY['c', 'd'])[i] )
from generate_series( 1 , array_upper(ARRAY['a','b'],  1 ));
...
Рейтинг: 0 / 0
22.01.2008, 16:31
    #35079383
Kerif
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние двух массивов
Да вот без использования вспомогательных пользовательский процедур у функций обойтись надо (
...
Рейтинг: 0 / 0
22.01.2008, 16:35
    #35079398
Kerif
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние двух массивов
Получилось ))
select (ARRAY['a','b']) || ' ' || (ARRAY['c', 'd'])
from generate_series(1, array_upper(ARRAY['a','b'], 1)) as i;
...
Рейтинг: 0 / 0
22.01.2008, 16:37
    #35079407
Kerif
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние двух массивов
Код: plaintext
1.
select  (ARRAY['a','b'])[i] || ' ' || (ARRAY['c', 'd'])[i] 
from generate_series( 1 ,  2 ) as i;
...
Рейтинг: 0 / 0
22.01.2008, 16:47
    #35079442
Oleg Bartunov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние двух массивов
KerifЗадравствуйте! Очень нужно решить именно на SQL одним запросом следующую задачу.

Дано:
ARRAY['a', 'b'], ARRAY['c', 'd'].
Можно ли каким-нибудь хитрым способом получить на выходе ARRAY['a c', 'b d']?

Читай документацию
http://www.postgresql.org/docs/8.2/static/functions-array.html

Код: plaintext
1.
2.
3.
4.
5.
=# select ARRAY[ 1 , 2 , 3 ] || ARRAY[ 4 , 5 , 6 ];
   ?column?
---------------
 { 1 , 2 , 3 , 4 , 5 , 6 }
( 1  row)
...
Рейтинг: 0 / 0
22.01.2008, 17:49
    #35079703
Kerif
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Слияние двух массивов
Oleg Bartunov KerifЗдравствуйте! Очень нужно решить именно на SQL одним запросом следующую задачу.

Дано:
ARRAY['a', 'b'], ARRAY['c', 'd'].
Можно ли каким-нибудь хитрым способом получить на выходе ARRAY['a c', 'b d'] ?

Читай документацию
http://www.postgresql.org/docs/8.2/static/functions-array.html

Код: plaintext
1.
2.
3.
4.
5.
=# select ARRAY[ 1 , 2 , 3 ] || ARRAY[ 4 , 5 , 6 ];
   ?column?
---------------
 { 1 , 2 , 3 , 4 , 5 , 6 }
( 1  row)
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Слияние двух массивов / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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