Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как собрать все значения из поля в переменную? / 3 сообщений из 3, страница 1 из 1
09.08.2016, 17:03
    #39289141
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как собрать все значения из поля в переменную?
Есть таблица

Код: sql
1.
2.
3.
4.
create table t
(id serial primary key,
name text,
val INTEGER);



Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
insert into t(name, val)
select 'petya', x'0001'::INT
union all
select 'petya', x'0010'::INT
union all
select 'petya', x'0110'::INT
union all
select 'vova', x'0001'::INT



Как я могу в функции:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
create or replace function get_union(
   name text,
   OUT retval int
)
as $BODY$
begin
-- ?
end
$BODY$ language plpgsql;



выбрать в переменную все значения для указанного имени объединяя их битоым ИЛИ, т.е. например для petya функция должна вернуть x'111'

select to_hex(x'0001'::int | x'0010'::int | x'0100'::int);
---
111
...
Рейтинг: 0 / 0
09.08.2016, 17:27
    #39289167
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как собрать все значения из поля в переменную?
...
Рейтинг: 0 / 0
09.08.2016, 17:35
    #39289179
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как собрать все значения из поля в переменную?
vyegorovРолг Хупин,

https://www.postgresql.org/docs/current/static/functions-aggregate.html

Спасибо!

select to_hex(bit_or(val)) from t where name='petya';
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как собрать все значения из поля в переменную? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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