我有两张桌子。
表1 包含的公司的位置在名为the_geom
Table2还包含来自Table1的相同公司,未进行地理参考,以及其他数百家地址已进行地理参考的公司。
我需要做的就是将来自Table1the_geom
公司的lat/lng 值插入到它们在表 2中的相应条目中。这些插入可以基于的共同点是列。address
很简单的问题,我敢肯定,但我很少使用 SQL。
我有两张桌子。
表1 包含的公司的位置在名为the_geom
Table2还包含来自Table1的相同公司,未进行地理参考,以及其他数百家地址已进行地理参考的公司。
我需要做的就是将来自Table1the_geom
公司的lat/lng 值插入到它们在表 2中的相应条目中。这些插入可以基于的共同点是列。address
很简单的问题,我敢肯定,但我很少使用 SQL。
假设由
插入“the_geom”纬度/经度值
你实际上是指UPDATE
现有的行table2
:
UPDATE table2 t2
SET the_geom = t1.the_geom
FROM table1 t1
WHERE t2.address = t1.address
AND t2.the_geom IS DISTINCT FROM t1.the_geom; -- avoid empty updates
相关答案:
还假设该address
列具有UNIQUE
值。手册中的
详细信息UPDATE
。
我有一个类似的问题,但是当我尝试上面提到的解决方案时,我得到了一个错误,比如
't2' 附近的语法不正确
对我有用的代码是:
UPDATE table2
SET the_geom = t1.the_geom
FROM table1 as t1
WHERE table2.address = t1.address AND table2.the_geom <> t1.the_geom
我知道我的答案晚了 5 年,但我希望这能帮助像我这样找不到这个解决方案的人。
如果你是 mysql 用户(像我一样)并且上面的脚本不起作用,这里是 mysql 等价物。
UPDATE table2 t2, table1 t1
SET the_geom = t1.the_geom
WHERE t2.address = t1.address
AND t2.the_geom <> t1.the_geom; -- avoid empty updates
OP的所有学分。