Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将数据类型相同但列为';她的名字不一样_Sql_Insert_Insert Into - Fatal编程技术网

Sql 将数据类型相同但列为';她的名字不一样

Sql 将数据类型相同但列为';她的名字不一样,sql,insert,insert-into,Sql,Insert,Insert Into,我有两张桌子 两个表具有相同的列,但列的名称不同 第一个表包含以下列: |ID_pk|Name 并且只有唯一的[ID](一对一) 第二个表包含以下列: |SerialNumber|FullLegalName|PassportNumber_fk| 并且在[SerialNumber]和[PassportNumber]之间具有一对多关系 [ID]和[SerialNumber]列没有匹配的值 我需要将第二个表中的所有[ID]和[Name]值插入到[SerialNumber]和[FullLegalNa

我有两张桌子

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

第一个表包含以下列:

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

第二个表包含以下列:

|SerialNumber|FullLegalName|PassportNumber_fk|
并且在[SerialNumber]和[PassportNumber]之间具有一对多关系

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


我需要将第二个表中的所有[ID]和[Name]值插入到[SerialNumber]和[FullLegalName]中,并使用它们各自的[PassportNumber]。

尝试类似的方法

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

from tbl1, tbl2
where tbl2.PassportNumber = 'something';
你可以这样做

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

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

问题是我在第一个表和第二个表中没有任何匹配值,所以我不确定这个连接应该做什么。我可以更好地使用不存在的地方吗?这个问题可以结束。我开发了另一个解决方案CTE。但也有困难。我将发布一个指向新问题的链接。