我在[manual db]表中有一个[Box MDB]列,需要根据两个设置标准进行更新。我使用了以下代码:
update [02Manual_DB].[dbo].[manual DB]
set [02Manual_DB].[dbo].[manual DB].[Box_MDB] = 'Box-1558'
where [02Manual_DB].[dbo].[1558].[wallet] = [02Manual_DB].[dbo].[manual DB].[Wallet_MDB]
and [02Manual_DB].[dbo].[manual DB].[Box_MDB] like 'Box-1158'
但是它显示错误:无法绑定多部分标识符。我在这里尝试了不同的东西,但似乎都没有效果。我有什么问题吗?
此致 萨达特
答案 0 :(得分:1)
您已经指定了[1558]表名,但没有在FROM
语句中实际提及它。
我认为你想要的是这样的:
UPDATE [02Manual_DB].[dbo].[manual DB]
SET [Box_MDB] = 'Box-1558'
FROM [02Manual_DB].[dbo].[manual DB] AS M
INNER JOIN [02Manual_DB].[dbo].[1558] AS W
ON W.[wallet] = M.[Wallet_MDB]
WHERE M.[Box_MDB] = 'Box-1158'
显然你的SQL实际上并没有做任何事情,因为它只是将Box_MDB字段更新为'Box-1558',只是它已经匹配了那个值,但可能你真正的代码正在做一些更有用的东西......