create table を使用して、これらの列を使用してテーブルを作成しました。
create table myschema.mytable(
id serial PRIMARY KEY,
row_num integer,
col_num integer,
pix_centroid geometry,
pix_val double precision
)
私がそれを入力しようとしているとき:
insert into pixelbased (id, row_num, col_num, pix_centroid, pix_val)
values (
DEFAULT,
(select((ST_PixelAsPolygons(rast, 1)).x) from mytable where rid=3),
(select((ST_PixelAsPolygons(rast, 1)).x) from mytable where rid=3),
(select(ST_Centroid((ST_PixelAsPolygons(rast, 1)).geom)) from rwanda8 where rid=3),
(select(ST_PixelAsPolygons(rast, 1)).val from mytable where rid=3)
)
次のエラーが発生しました。
エラー: 式として使用されたサブクエリによって複数の行が返されました。
すべての列に複数の行があるため、このようなエラーが発生することは理にかなっています。しかし、前述のようにすべての列を計算する必要があります。誰が私が何をすべきか知っていますか? 実際、次のクエリの結果をテーブルに挿入したいと思います。
select
(ST_PixelAsPolygons(rast, 1)).val as geomval1,
(ST_PixelAsPolygons(rast, 1)).x as X,
(ST_PixelAsPolygons(rast, 1)).y as Y,
(ST_Centroid((ST_PixelAsPolygons(rast, 1)).geom)) as geom
from rwanda8
where rid=3
誰が私が何をすべきか知っていますか?