我有两个表,其中一个包含所有部件号(ITEMNO),另一个表包含COMMENT4。
我有另一个名称相同的表,但它只有第一个列表中的一些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
无法绑定多部分标识符“dbo.icitem.ITEMNO”。
当comment4
相同时,我希望F1$
从comment4
icitem
插入ITEMNO
。
由于
答案 0 :(得分:1)
据我所知,您需要使用更新操作而不是插入:
UPDATE dbo.icitem
SET comment4 = f1.comment4
FROM dbo.icitem inner join dbo.f1 on icitem.itemno=f1.itemno
答案 1 :(得分:0)
几个问题:
where dbo.icitem.ITEMNO = dbo.f1$.ITEMNO)
此行是一个问题,ITEMNO在此上下文中没有位置。在实践中,您应该加入该表并进行更新。
根据我的理解,与此类似的东西应该符合您的需求:
UPDATE item
SET item.COMMENT4 = f.COMMENT4
FROM dbo.icitem item
JOIN dbo.f1$ f
ON f.ITEMNO = item.ITEMNO
这将比较两个数据集,然后只更新icitem中的行,其中itemno与f1 $ table匹配