基于相同列合并表

时间:2014-07-10 09:59:17

标签: sql ms-access ms-office

我有两个表格具有相同的link列,一个包含我的其余数据,另一个包含一些日期字段(特此col1col2col3 )我需要导入到现有的表中。我尝试了以下查询但没有成功:

alter table (existing_table) 

add column (col1)
add column (col2)
add column (col3)

insert into [existing_table].[col1]
select (col1)
from [import_table]
where [import_table].[LINK] = [existing_table].[LINK]

insert into [existing_table].[col2]
select (col2)
from [import_table]
where [import_table].[LINK] = [existing_table].[LINK]

insert into [existing_table].[col3]
select (col3)
from [import_table]
where [import_table].[LINK] = [existing_table].[LINK]

这导致了许多错误,然后我在单独的块中尝试了上述错误。每当我尝试运行它时,Access都会请求[existing_table].[LINK]的值。因为这是与[import_table].[LINK]相同的列,因此是一个模糊的值,我很难过。

1 个答案:

答案 0 :(得分:0)

您应该执行UPDATE而不是INSERT。

尝试以下方法:

UPDATE [existing_table]
SET [existing_table].[col1] = [import_table].[col1], [existing_table].[col2] = [import_table].[col2], [existing_table].[col3] = [import_table].[col3]
FROM [existing_table] INNER JOIN
    [import_table] ON [existing_table].[LINK] = [import_table].[LINK]