【发布时间】:2015-03-23 09:35:42
【问题描述】:
我有两个表,表 A 包含我要传递的信息,表 B 我要接受信息。 (19 列 varchar)。
他们共同拥有的唯一列是“ItemTitle”(不要问,我没有创建它)所以我试图根据 ItemTitle 匹配导入。我的问题是在表 A 中的 ItemTitle 是唯一的,但在表 B 上可能有许多同名。
我想将列信息导入到所有包含相同 ItemTitle 的行,而不仅仅是它找到的第一个。
可以这样做吗?
这是我尝试过的:(我只使用了 1 列的集合来查看它是否有效) 它没有。错误消息 4104,级别 16,状态 1,第 29 行 无法绑定多部分标识符“prodData.ItemTitle”。
SELECT prodData.[prodID]
,prodData.[Item]
,prodData.[ParentItem]
,prodData.[ItemTitle]
,prodData.[15]
,prodData.[16]
,prodData.[17]
,prodData.[18]
,prodData.[19]
,prodData.[20]
,prodData.[21]
,prodData.[22]
,prodData.[23]
,prodData.[24]
,prodData.[25]
,prodData.[26]
,prodData.[27]
,prodData.[28]
,prodData.[29]
,prodData.[30]
,prodData.[31]
,prodData.[32]
,prodData.[33]
From [database].[dbo].[tbl_ProductInfoDump] as prodData
Inner Join [database].[dbo].[tbl_ProductFilterDump] as filterData
on filterData.ItemTitle = prodData.ItemTitle
Update [database].[dbo].[tbl_ProductInfoDump] set [15] = (Select [15] from [database].[dbo].[tbl_ProductFilterDump] as filterData where filterData.ItemTitle = prodData.ItemTitle)
【问题讨论】:
标签: sql sql-server import merge dml