How to Fix: ERROR: missing FROM-clause entry for table "" in postgres
How to Fix: ERROR: missing FROM-clause entry for table "" in postgres
我已经看到很多关于此错误的问题。但似乎对我没有任何作用。
请分享您的建议。
这是我的查询,当两个 tables 的 geom 相交时,我试图从地理边界 table 更新 geonames tables 的 new_shp_id 列。
UPDATE
public.geonames
SET
new_shp_id = subquery.gbID
FROM
(
SELECT gb.shapeid AS gbID
FROM "public"."geoBoundaries" gb, "public"."geonames" gn
) AS subquery
WHERE
ST_Intersects(gn.geom, gb.geom);
错误:
ERROR: missing FROM-clause entry for table "gn"
LINE 11:
ST_Intersects(gn.geom, gb.geom);
您不需要派生的 table。只需将地理边界直接放在 FROM 子句中,并为目标指定一个别名 table:
UPDATE public.geonames gn
SET new_shp_id = gb.shapeid
FROM "public"."geoBoundaries" gb
WHERE ST_Intersects(gn.geom, gb.geom);
我已经看到很多关于此错误的问题。但似乎对我没有任何作用。 请分享您的建议。 这是我的查询,当两个 tables 的 geom 相交时,我试图从地理边界 table 更新 geonames tables 的 new_shp_id 列。
UPDATE
public.geonames
SET
new_shp_id = subquery.gbID
FROM
(
SELECT gb.shapeid AS gbID
FROM "public"."geoBoundaries" gb, "public"."geonames" gn
) AS subquery
WHERE
ST_Intersects(gn.geom, gb.geom);
错误:
ERROR: missing FROM-clause entry for table "gn"
LINE 11: ST_Intersects(gn.geom, gb.geom);
您不需要派生的 table。只需将地理边界直接放在 FROM 子句中,并为目标指定一个别名 table:
UPDATE public.geonames gn
SET new_shp_id = gb.shapeid
FROM "public"."geoBoundaries" gb
WHERE ST_Intersects(gn.geom, gb.geom);