将值从一个表插入到另一个表中,其中数据类型相同但列的名称不同

时间:2016-06-13 05:16:12

标签: sql insert insert-into

我有两张桌子。

两个表都有相同的列,但列的名称不同。

第一个表有列:

|ID_pk|Name

并且只有唯一的[ID](一对一)

第二个表有列:

|SerialNumber|FullLegalName|PassportNumber_fk|

并且[SerialNumber]和[PassportNumber]之间存在一对多的关系

[ID]和[SerialNumber]列没有匹配的值。

我需要将第二个表中的所有[ID]和[Name]值插入[SerialNumber]和[FullLegalName]及其各自的[PassportNumber(s)]。

2 个答案:

答案 0 :(得分:1)

尝试这样的事情,

update tbl2
set tbl2.SerialNumber= tbl1.id,
    tbl2.FullLegalName = tbl1.Name 

from tbl1, tbl2
where tbl2.PassportNumber = 'something';

答案 1 :(得分:0)

你可以这样做。

但第一个和第二个表的列属性必须相等。

update SecondTable 
set SerialNumber = ft.ID,
   FullLegalName = ft.Name
from FirstTable as ft 
   inner join SecondTable as st on ft.Id = st.PassportNumber_fk_ColumneName
   inner join ThirdTable as tt on st.PassportNumber_fk_ColumneName = tt.PassportNumber_pk_ColumneName