将数据从一个表复制到另一个不同的列名

时间:2014-12-19 20:31:14

标签: sql database tsql

我在将一个表的数据复制到另一个表时遇到问题。我有大约100个左右的单个表,这些表通常具有相同的字段名称,但并非总是如此。我需要能够复制和映射字段。示例:源表是BROWARD并且具有列名broward_ID,name,dob,address(列表继续)。我要复制它的临时表有ID,名称,dob,地址等。

我想映射像broward_ID = ID,name = name等字段。但是许多其他表的列名不同,所以我必须为每个表写一个查询。一旦我弄清楚第一个,我可以做其余的事情。此外,两个表中的列都没有按顺序排列。提前感谢TSQL ...

2 个答案:

答案 0 :(得分:8)

使用表格:

BROWARD (broward_ID, name, dob, address) /*source*/
TEMP (ID, name, address,dob) /*target*/

如果您想将信息从BROWARD复制到TEMP,那么:

INSERT INTO TEMP SELECT broward_ID,NAME,ADDRESS,DOB FROM BROWARD --check that the order of columns in select represents the order in the target table

如果您只想复制broward_IDname,请:

INSERT INTO TEMP(ID, name) SELECT broward_ID,NAME FROM BROWARD

答案 1 :(得分:0)

您的问题将使用更新解决

让我们考虑一下我们有两个不同的表

Table A
Id Name
1  abc
2  cde

Table B
Id Name
1  
2

在上述情况下,要将表A名称列数据插入表B名称列

update B inner join on B.Id = A.Id set B.Name = A.Name where ...