我正在尝试创建一个表,可以用来比较一组8个GPS坐标。最终,我要检查这些坐标之间的距离不超过20m。我目前在填充此表时遇到问题,因为我不断收到以下错误:
错误代码:1093。您无法在FROM子句中指定要更新的目标表'GPS1'
我尝试过几次更改查询,但是没有运气。
目前这是我所拥有的:
UPDATE ots_outlet_gps AS GPS1
LEFT JOIN
(SELECT *
FROM
(SELECT
TMP.store_code
, TMP.gps
, TMP.action_date
FROM tmp_outlet_gps TMP
JOIN
(SELECT *
FROM
ots_outlet_gps JOI
WHERE
action_date1 > (SELECT action_date1 FROM ots_outlet_gps AS AA WHERE store_code = JOI.store_code GROUP BY store_code)
) INN
ON
TMP.store_code = INN.store_code
WHERE
action_date >= '2019-01-01'
AND action_date <= '2019-01-06'
) PRNK
) SRC
ON
GPS1.store_code = SRC.store_code
SET
GPS1.gps2 = SRC.gps
, GPS1.action_date2 = SRC.action_date
WHERE
GPS1.gps2 IS NULL
AND GPS1.action_date2 IS NULL
;
表结构(ots_outlet_gps):
id int(6)
store_code bigint(12)
action_date1 date
gps1 varchar(20)
variance1 decimal(8,2)
action_date2 date
gps2 varchar(20)
variance2 decimal(8,2)
etc
表结构(tmp_outlet_gps):
store_code int(10)
gps varchar(20)
action_date date
任何帮助将不胜感激。我也不确定我是否使用正确的方法来获得所需的最终结果,并且是否愿意接受其他建议。
谢谢。