PostgreSQL: ОБНОВЛЕНИЕ с использованием агрегатной функции

Я хочу обновить таблицу paneldata, установив столбец ibase, используя функцию агрегирования.

UPDATE paneldata p
SET ibase=SUM(1/i.dist)
FROM ibaselang i
WHERE p.gid=i.gid
AND i.instp<p.period

Это приводит к ERROR: aggregate functions are not allowed in UPDATE

ТАБЛИЦА ОПРЕДЕЛЕНИЯ

CREATE TABLE public.ibaselang
(
  gid integer,
  dist double precision,
  buildid integer,
  instp smallint
)
WITH (
  OIDS=FALSE
);

Подход к решению

К сожалению, я не знаю, как реализовать мои WHERE функции в подзапросе.

9
задан sagi 14 February 2016 в 15:59
поделиться