0

我有一个很大的问题。

我正在尝试将一些数据从现有表迁移到新表。我很难弄清楚如何执行以下操作:

在地址表中有两列:

 AddressTable
 ---------------------------------------------
 StateCode(nvarchar) and CountryCode(nvarchar)

两者都有一个州和国家代码的两个字母代码。

现在在新表中我们创建了两个外键

 NewAddressTable
 ---------------------
 StateId and CountryId

这对应于两个表 State 和 Country

StateTable has (Id,(FK)IdCountry,Name,Code)
CountryTable has (Id,Name,Code)

我要做的是基于地址表上的州和国家/地区代码,如何添加基于州和代码的新表中的值替换旧表中的值。

一个例子:

AddressTable
-------------
City        StateCode   PostalCode  CountryCode
North Haven CT          06473       US

NewAddressTable
---------------
IdCountry   IdState
236         8

CountryTable
--------------- 
Id   Name           Code
236  UNITED STATES  US

StateTable
--------------
Id   IdCountry  Name            Code
8    236            CONNECTICUT CT

谢谢你。

4

1 回答 1

1

像这样的东西应该工作。

insert into newtable
(idCountry, idState)
select country.id, state.id
from oldtable join country on oldtable.CountryCode = Country.Code
join state on oldtable.stateCode = state.code
于 2013-07-03T23:17:21.983 回答