Sql Postgres-如何在更新子查询中引用外部表?

Sql Postgres-如何在更新子查询中引用外部表?,sql,postgresql,Sql,Postgresql,我正在尝试做如下事情: UPDATE table1 SET table1.nearest_city_id = subquery.id FROM (SELECT id FROM cities ORDER BY cities.location <-> table1.location LIMIT 1) AS subquery; i、 e.根据空间查询在表1中设置最近的城市 但我无法在子查询中引用正在更新的行。有没有办法解决这个问题?类似这样的问题: UPDATE table1

我正在尝试做如下事情:

UPDATE table1
SET table1.nearest_city_id = subquery.id
FROM 
  (SELECT id FROM cities ORDER BY cities.location <-> table1.location LIMIT 1)
  AS subquery;
i、 e.根据空间查询在表1中设置最近的城市

但我无法在子查询中引用正在更新的行。有没有办法解决这个问题?

类似这样的问题:

UPDATE table1
  SET nearest_city_id = (select id
                         from cities c
                         ORDER BY c.location <-> table1.location
                         LIMIT 1);
大概是这样的:

UPDATE table1
  SET nearest_city_id = (select id
                         from cities c
                         ORDER BY c.location <-> table1.location
                         LIMIT 1);

如果需要按一个条件更新表1的1列和表2的1列:

UPDATE Table1 
 SET Table1.Column = A.Column 
      FROM(SELECT Column,Id FROM Table2) As A
 WHERE Table1.Id=Table2.Id

如果需要按一个条件更新表1的1列和表2的1列:

UPDATE Table1 
 SET Table1.Column = A.Column 
      FROM(SELECT Column,Id FROM Table2) As A
 WHERE Table1.Id=Table2.Id

@一匹没有名字的马我同意:删除。@一匹没有名字的马我同意:删除。