2016-04-26 2 views
1

Я работаю в Postgres 9.4. У меня есть две таблицы:Вставить вывод запроса в другую таблицу в postgres?

         Table "public.parcel" 
    Column |   Type   |       Modifiers 
ogc_fid  | integer    | not null default 
wkb_geometry | geometry(Polygon,4326) | 
county  | character varying  | 
parcel_area | double precision  | 

      Table "public.county" 
Column |   Type   | Modifiers 
--------+------------------------+----------- 
name | character(1)   | 
chull | geometry(Polygon,4326) | 
area | double precision  | 

Я хотел бы, чтобы найти все уникальные значения округа в parcel и общие направления приложенных участков, а затем вставить их в county таблице как name и area соответственно.

Я знаю, как сделать первую половину этого:

SELECT county, 
     SUM(parcel_area) AS area 
FROM inspire_parcel 
GROUP BY county; 

Но то, что я не знаю, как вставить эти значения в county. Может ли кто-нибудь посоветовать?

Я думаю, что это что-то вроде:

UPDATE county SET name, area = (SELECT county, SUM(parcel_area) AS area 
FROM inspire_parcel GROUP BY county) 

ответ

2

используется INSERT INTO. Итак, что-то вроде этого:

INSERT INTO county 
SELECT county, SUM(parcel_area) AS area 
    FROM inspire_parcel GROUP BY county; 
+0

Спасибо. Это сработало для меня, когда я немного его отредактировал: 'INSERT INTO county (name, area) ...' – Richard