/ / Colonne inconnue 'a1.location' dans 'clause clause' - mysql

Colonne inconnue 'a1.location' dans 'clause clause' - mysql

Im essayant d'exécuter cette requête

UPDATE airport AS a1,
(SELECT location_ar
FROM airport as a3
WHERE a3.location = a1.location AND a3.location_ar != NULL LIMIT 1) as a2
SET a1.location_ar = a2.location_ar WHERE a1.location = NULL;

Mais im obtenir "colonne inconnue" a1.location "dans" où clause "",

Edité: la nouvelle requête est:

UPDATE airport AS a1, (SELECT location_ar FROM airport WHERE location = a1.location AND a3.location_ar != NULL LIMIT 1) as a2 SET a1.location_ar = a2.location_ar WHERE a1.location = NULL;

Aidez-moi, s'il vous plaît

Réponses:

1 pour la réponse № 1

Une meilleure façon de le faire serait d’utiliser

update airport a1
join airport a2 on a1.location = a2.location and a2.location_ar is not NULL
set a1.location_ar = a2.location_ar
where a1.location is NULL;

0 pour la réponse № 2

Essayez-le

UPDATE airport AS a1,
(SELECT location_ar FROM airport as a3
WHERE a3.location = airport.location
AND a3.location_ar is not NULL LIMIT 1) as a2
SET a1.location_ar = a2.location_ar
WHERE a1.location is NULL;