2015-04-13 2 views
0

Im пытается выполнить этот запросНеизвестный столбец 'a1.location' в 'где предложение'

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; 

Но им получать "Неизвестный столбца 'a1.location' в 'где предложение'",

Отредактировано: новый запрос:

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; 

Помогите пожалуйста

+0

Вы пытаетесь установить два псевдонима для одной таблицы? –

+0

Попробуйте airport.location, это работает? –

+0

airport.location не работает, –

ответ

1

лучший способ сделать это будет использовать присоединиться

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

Последняя строка была где a1.location_ar NULL; Спасибо, сработало! –

0

Попробуйте.

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; 
+0

Неизвестная колонка 'airport.location' в 'where clause' –

Смежные вопросы