Описание тега set-returning-functions
Функции базы данных, возможно, возвращают более одной строки. Типичными примерами являются функции генерации серий или unnest(). Он же "табличные функции".
1
ответ
Функция с множественным значением, вызываемая в контексте, которая не может принять набор
Я получаю сообщение об ошибке: функция с множественным значением, вызываемая в контексте, которая не может принять набор при выполнении этой функции в RETURN QUERY EXECUTE линия: PLSQL $ cat lookup_email.pl CREATE OR REPLACE FUNCTION app.lookup_emai…
13 дек '16 в 01:42
1
ответ
Значения NULL теряются при наложении результата unnest()
Я наткнулся на очень странное поведение с unnest(), при приведении после расширения массива. Вступление Существует три основных варианта синтаксиса для использования unnest (): 1) SELECT unnest('{1,NULL,4}'::int[]) AS i; 2) SELECT i FROM unnest('{2,…
09 май '13 в 00:38
2
ответа
Создать таблицу из нескольких вызовов функции, возвращающей запись
У меня есть функция, которая делает некоторые базовые статистические данные по диапазону данных на основе меток времени начала и окончания: CREATE OR REPLACE FUNCTION cal(TIMESTAMP, TIMESTAMP, OUT Date_Time timestamp with time zone, OUT avg numeric,…
13 авг '14 в 14:30
2
ответа
Преобразование запросов Oracle в PostgreSQL с помощью string_to_array()
У меня есть запрос ниже в Oracle: SELECT to_number(a.v_VALUE), b.v_VALUE FROM TABLE(inv_fn_splitondelimiter('12;5;25;10',';')) a JOIN TABLE(inv_fn_splitondelimiter('10;20;;', ';')) b ON a.v_idx = b.v_idx которые дают мне результат, как: Я хочу преоб…
13 фев '15 в 07:14
3
ответа
Postgresql generate_series месяцев
Я пытаюсь создать серию в PostgreSQL с помощью функции generate_series. Мне нужна серия месяцев, начиная с января 2008 года до current month + 12 (год спустя). Я использую и ограничен PostgreSQL 8.3.14 (поэтому у меня нет опций временных рядов в 8.4…
16 сен '11 в 21:23
2
ответа
Параллельный unnest() и порядок сортировки в PostgreSQL
Я понимаю, что с помощью SELECT unnest(ARRAY[5,3,9]) as id без ORDER BY предложение, порядок набора результатов не гарантируется. Я мог бы, например, получить: id -- 3 5 9 Но как насчет следующего запроса: SELECT unnest(ARRAY[5,3,9]) as id, unnest(A…
23 май '14 в 13:48
0
ответов
Варианты использования для боковых, которые не включают функцию возврата набора
Я читал этот пост на днях: http://blog.heapanalytics.com/postgresqls-powerful-new-join-type-lateral/ Я подозревал, что некоторые из утверждений в посте, возможно, не были точными. Этот в частности: "Без боковых объединений нам пришлось бы прибегнуть…
08 дек '14 в 08:14
1
ответ
ПРИСОЕДИНЯЙТЕСЬ к множеству возвращающих результатов функции
Я пытаюсь объединить таблицу и функцию, которая возвращает строки: SELECT p.id, p.name, f.action, f.amount FROM person p JOIN calculate_payments(p.id) f(id, action, amount) ON (f.id = p.id); Эта функция возвращает 0, 1 или более строк для каждого ид…
04 мар '15 в 11:08
2
ответа
Как упорядочить результат запроса в соответствии с порядком элементов массива?
У меня есть этот запрос в Postgres 9.4: select id from question where id = any( array_cat( ARRAY[0,579489,579482,579453,561983,561990,562083]::integer[], (select array( select id from question where id not in (0,579489,579482,579453,561983,561990,56…
11 апр '15 в 04:42
2
ответа
Вызывать функцию, возвращающую множество, с аргументом массива несколько раз
Это разновидность функции plpgsql, которая возвращает несколько столбцов, вызываемых несколько раз. Однако я надеялся найти решение моих конкретных обстоятельств. У меня есть функция, которая обрабатывает массив строк с заданным параметром и возвращ…
29 сен '14 в 20:03
1
ответ
Использовать значения из массива JSONB внутри предложения WHERE IN
У меня есть JSONB Объект в PostgreSQL: '{"cars": ["bmw", "mercedes", "pinto"], "user_name": "ed"}' Я пытаюсь использовать значения из массива "автомобили" внутри него в WHERE пункт о SELECT: SELECT car_id FROM cars WHERE car_type IN ('bmw', 'mercede…
03 июл '16 в 23:52
1
ответ
Список возврата с датами в указанном диапазоне из одного запроса
Я пытаюсь получить список дат в пределах диапазона, аналогично команде NOW() в PostgreSQL, с той лишь разницей, что now(), возвращает только текущую дату. Если я выполню это следующим образом, я получу: select now(); 2013-09-27 15:27:50.303-05 Или, …
27 сен '13 в 20:35
2
ответа
Изменить диапазон дат на новые строки с дискретными датами
У меня есть таблица, которая содержит name, location, start_date, а также end_date, Я пытаюсь преобразовать эти строки, содержащие диапазоны дат, в строки отдельных дат, сохраняя при этом информацию о соответствующей строке. Пример: Name1, Location1…
03 май '15 в 02:12
2
ответа
Запись, возвращаемая из функции, имеет объединенные столбцы
У меня есть таблица, в которой хранятся изменения аккаунта с течением времени. Мне нужно объединить это с двумя другими таблицами, чтобы создать некоторые записи для определенного дня, если эти записи еще не существуют. Чтобы упростить ситуацию (я н…
19 авг '14 в 20:24
1
ответ
Можно ли ответить на запросы в представлении, прежде чем полностью материализовать представление?
Короче говоря: Distinct,Min,Max на левой стороне левого соединения должны быть подотчетны без объединения. Я использую тип массива SQL (в Postgres 9.3) для сжатия нескольких строк данных в одну строку, а затем представление для возврата неопубликова…
25 фев '15 в 21:50
1
ответ
generate_subscripts(array, 2) возвращает две записи, когда существует только один многомерный элемент
Почему это возвращает 2 записи, когда существует только один многомерный элемент в многомерном массиве images? SELECT images FROM ( SELECT images, generate_subscripts(images, 2) AS s FROM listings WHERE listings.id = 2 ) as foo; Примечание: я сократ…
20 апр '17 в 00:31
2
ответа
Как вернуть тип строки таблицы плюс дополнительный столбец из функции?
У меня есть таблица, определенная так: create table users ( id serial primary key, name text, email text, ); ... и я хочу написать функцию, которая возвращает строки формы: ( id integer, name text, email text, some_other_column boolean, ) Мне удалос…
28 июн '17 в 00:15
1
ответ
Функция для просмотра и выбора данных из нескольких таблиц
Я новичок в Postgres и имею базу данных с несколькими таблицами одинаковой структуры. Мне нужно выбрать данные из каждой таблицы, которая соответствует определенным критериям. Я мог бы сделать это с кучей UNION запросов, но количество таблиц, которы…
07 июл '14 в 19:50
1
ответ
postgres: как вызвать функцию, которая возвращает таблицу и передает параметры из запроса
В качестве мгновенного примера: Функция, которая возвращает таблицу: => create or replace function testf(x integer) returns table(a integer, b integer) language sql as $function$ select * from (values(1,2)) as foo(a,b) $function$; Вызывая его, он…
27 янв '17 в 14:14
2
ответа
Повторите количество строк в зависимости от значения столбца.
У меня есть таблица, которая выглядит так: | name | start_date | duration_day| ======================================== | A | 2015-01-01 | 3 | | B | 2015-01-02 | 2 | И теперь я хочу получить вывод примерно так: | name | date | ===================== …
11 мар '16 в 23:07