2010-07-24 4 views
0

У меня есть две таблицы, одна из которых называется страны и одна страна. Страны имеют как страны, так и государства, но нет стандартов для стран. В таблице стран есть названия стран с ISO, но нет штатов. Я пытаюсь сделать выбор вставки, чтобы обновить новый столбец ISO в таблице стран и заполнить его на основе таблицы страны (другими словами, переместить ISO из одной таблицы в другую).INSERT ... SELECT, WHERE

Вот что у меня есть:

INSERT countries (country_iso) SELECT country.iso FROM countries,country WHERE countries.name = country.printable_name 

Все это делали, было положить Стандартизации в конце таблицы стран. Он не использовал WHERE countries.name = country.printable_name (которые соответствуют двум столбцам).

Любые идеи, что я делаю неправильно?

Спасибо!

ответ

2

INSERT создает новые строки. Похоже, вы хотите обновить существующие строки.

+0

лол .... хм, спасибо! – dzm

0

Вам необходимо запустить обновление, а не вставка:

UPDATE countries set country_iso = country.iso 
FROM countries INNER JOIN country on countries.name = country.printable_name 

Вкладыш создает новые строки в то время как обновление изменяет существующие строки.

0

Как насчет:

UPDATE countries,country SET countries.country_iso=country.iso WHERE countries.name=country.printable_name 
Смежные вопросы