我正在尝试在SQL中做一些我认为非常基本的东西,但我似乎无法弄明白。
我有两张桌子:
省份 - >
id | name | pCode | country_id | cCode
78840113-a0e5-11e4-8237-de7fe3f523cf | Alabama | AL | 1228 |
7884030c-a0e5-11e4-8237-de7fe3f523cf | Alaska | AK | 1228 |
788403ea-a0e5-11e4-8237-de7fe3f523cf | Arizona | AZ | 1228 |
788404a2-a0e5-11e4-8237-de7fe3f523cf | Arkansas | AR | 1228 |
和国家/地区 - >
iso_code | name | country_id
AD | Andorra | 1005
AE | United Arab Emirates | 1225
AF | Afghanistan | 1001
AG | Antigua and Barbuda | 1009
我只想让省份中的cCode列填充相应的iso_code(如果省份和国家/地区的country_id相同)。
我已经尝试了很多东西,甚至没有在这里写我的代码,我甚至不知道哪个方向是正确的方法(加入,插入,更新??)。我完全卡住了请帮助我!
答案 0 :(得分:5)
如果你真的使用Mysql:
update Provinces p
inner join countries c on
p.country_id = c.country_id
set p.cCode = c.iso_code
答案 1 :(得分:2)
您可以在此处使用UPDATE...JOIN
语法:
UPDATE provinces JOIN countries USING (country_id)
SET provinces.cCode=countries.iso_code