new_iata_code という新しい仮想列としてデータを返す select ステートメントがあります。
このデータで実際の列として作成し、テーブルでエクスポートしたいと考えています。これを行う方法?
select cni.*,
// this statment return data as new column called (new_iata_code )
(select iata_code
from cities_iata ci
order by pow(cni.latitude - ci.latitude, 2) + pow(cni.longitude - ci.longitude, 2)
limit 1
) as new_iata_code
// the table name is cities_no_iata cni
from cities_no_iata cni;
// 更新コードは機能しません
update cities_no_iata join
(select cni.*,
(select iata_code
from cities_iata ci
order by pow(cia.latitude - ci.latitude, 2) + pow(cia.longitude - ci.longitude, 2)
limit 1
) as new_iata_code
from cities_no_iata cni
) upd
on cities_no_iata.latitude = upd.latitude and
cities_no_iata.longitude = upd.longitude
set iata_code = upd.iata_code;