我在将一个表的数据复制到另一个表时遇到问题。我有大约100个左右的单个表,这些表通常具有相同的字段名称,但并非总是如此。我需要能够复制和映射字段。示例:源表是BROWARD并且具有列名broward_ID,name,dob,address(列表继续)。我要复制它的临时表有ID,名称,dob,地址等。
我想映射像broward_ID = ID,name = name等字段。但是许多其他表的列名不同,所以我必须为每个表写一个查询。一旦我弄清楚第一个,我可以做其余的事情。此外,两个表中的列都没有按顺序排列。提前感谢TSQL ...
答案 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_ID
和name
,请:
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 ...