Я пытаюсь создать таблицу, которую можно использовать для сравнения набора 8 координат GPS.В конце концов я хочу проверить, что эти координаты находятся на расстоянии не более 20 м друг от друга.В настоящее время у меня возникают проблемы при заполнении этой таблицы, поскольку я получаю следующую ошибку:
Код ошибки: 1093. Невозможно указать целевую таблицу «GPS1» для обновления в предложении FROM
Я пытался изменить свой запрос несколько раз, но безуспешно.
В настоящее время это то, что у меня есть:
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
Любая помощь будет принята с благодарностью.Я также не уверен, что использую правильный подход для достижения желаемого конечного результата, а также буду открыт для альтернативных предложений.
Спасибо.