将 SQL table 数据合并到具有相同列名的现有 SQL table

Merge SQL table data to an existing SQL table with the same column names

我有两个 table,一个带有所有部件号 (ITEMNO),另一个带有 COMMENT4。

我有另一个同名的 table,但它只有第一个列表中的几个 ITEMNO。

如果我 运行 这个查询我得到

insert into dbo.icitem (comment4)
select COMMENT4 
from dbo.f1$ 
where dbo.icitem.ITEMNO = dbo.f1$.ITEMNO)

我收到这个错误

Msg 4104, Level 16, State 1, Line 4

The multi-part identifier "dbo.icitem.ITEMNO" could not be bound.

ITEMNO相同时,我想从F1$插入comment4icitemcomment4

谢谢

据我了解,您需要使用更新操作而不是插入操作:

UPDATE dbo.icitem
SET comment4 = f1.comment4
FROM dbo.icitem inner join dbo.f1 on icitem.itemno=f1.itemno

几个问题:

where dbo.icitem.ITEMNO = dbo.f1$.ITEMNO)

这一行有问题,ITEMNO 在此上下文中没有位置。实际上,您应该加入 table 并进行更新。

根据我的理解,类似这样的东西应该适合你的需求:

UPDATE item
SET item.COMMENT4 = f.COMMENT4
FROM dbo.icitem item
    JOIN dbo.f1$ f
        ON f.ITEMNO = item.ITEMNO

这将比较两个数据集,然后仅更新 icitem 中 itemno 与 f1$ 匹配的行 table