基于距离的MySQL更新表(St_距离)

基于距离的MySQL更新表(St_距离),mysql,spatial,mysql-spatial,Mysql,Spatial,Mysql Spatial,我有一张叫roads的桌子。它有一个4326点的几何场,包含坐标,称为形状 我有另一个叫做zipcodes的表,其中包含zipcodes和一个4326点GEOM字段,该字段还包含其缩放形状的坐标 如何使用基于最短距离的zipcodes更新我的“roads”表 我已经尝试了我能想象到的一切,但我已经没有选择了。您正在使用mysql spatial extension,对吗?您可能想发布您的DB模式、示例数据、一些尝试以及它们不起作用的原因是,mysql空间扩展。这是我最新的sql:UPDATE r

我有一张叫roads的桌子。它有一个4326点的几何场,包含坐标,称为形状

我有另一个叫做zipcodes的表,其中包含zipcodes和一个4326点GEOM字段,该字段还包含其缩放形状的坐标

如何使用基于最短距离的zipcodes更新我的“roads”表


我已经尝试了我能想象到的一切,但我已经没有选择了。

您正在使用mysql spatial extension,对吗?您可能想发布您的DB模式、示例数据、一些尝试以及它们不起作用的原因是,mysql空间扩展。这是我最新的sql:UPDATE roads SET plz=SELECT plz FROM osm_zipcodes_dev其中ST_Distance从osm_zipcodes_dev中选择old_shape,shape<1000 LIMIT 1在何处进行良好判断,正在使用一个返回多行ST_Distance SELECT FROM old_shape osm_zipcodes_dev,shape,记住,ST_Distance接受两个几何对象作为参数,这句话你给了他一整行
UPDATE roads SET plz=(SELECT plz FROM osm_zipcodes_dev WHERE ST_Distance((SELECT old_shape FROM osm_zipcodes_dev) , shape) < 1000 LIMIT 1)