将id引用更新到附加表中

时间:2015-09-02 13:59:06

标签: sql sql-server

在迁移某些数据时,我遇到了一些麻烦(当前可能是codeblind)。

我有2个表,一个是设备表,另一个是制造商。原始数据库将所有数据存储在一个表中,我将其拆分为多个表。我设法将制造商提取得很好,就像其他设备的详细信息一样。我未能做的是将制造商的ID链接到设备。

所以我想要的是设备表中的id是相对于另一个表中的制造商名称的相应id,但是在原始源材料的单个查询中完成。

我的原始插入代码如下:

insert into c_appliance (app_serial, property_id, app_location,
                         app_installdate, app_warrantyexp, app_nextservice)
  select [Serial No#], [Customer Number], location,
         installed, [Expiry Date], [Service Due]
  from dbo.[Customer Table]

这并没有将制造商添加到设备表中 - 这是我所知道的。当我试图弄清楚我错过了什么时,制造商专栏目前仍为空。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

首先在原始表中创建一个唯一的键列(暂时),如果不存在的话。

然后在第一个表中插入,就像上面的查询一样,您要插入c_appliance。还要添加临时唯一键列。

同样以相同的方式插入Manufacturer表,使用临时唯一键列。

现在更新您可以根据此唯一键列设置主键和外键。