Sql 表格';dbo.UserProperties';这是模棱两可的。为什么会出现这种错误?
为什么未编译此update语句?根据msdn,这是完全正确的Sql 表格';dbo.UserProperties';这是模棱两可的。为什么会出现这种错误?,sql,sql-server,Sql,Sql Server,为什么未编译此update语句?根据msdn,这是完全正确的 UPDATE dbo.UserProperties SET Value = MergeFrom.Value FROM dbo.UserProperties MergeFrom , dbo.UserProperties MergeTo WHERE MergeFrom.Field = MergeTo.Field AND MergeTo.[Key] = CAST(@MergeToUse
UPDATE dbo.UserProperties
SET Value = MergeFrom.Value
FROM dbo.UserProperties MergeFrom ,
dbo.UserProperties MergeTo
WHERE MergeFrom.Field = MergeTo.Field
AND MergeTo.[Key] = CAST(@MergeToUserID AS NVARCHAR(50))
AND MergeFrom.[Key] = CAST(@MergeFromUserID AS NVARCHAR(50))
我认为您需要在更新中引用别名以进行自连接。至少我刚刚尝试了一个带有自连接的更新,下面的语法对我很有用
UPDATE MergeTo
SET MergeTo.Value = MergeFrom.Value
FROM dbo.UserProperties AS MergeFrom INNER JOIN
dbo.UserProperties AS MergeTo ON MergeFrom.Field = MergeTo.Field
WHERE MergeTo.[Key] = CAST(@MergeToUserID AS NVARCHAR(50))
AND MergeFrom.[Key] = CAST(@MergeFromUserID AS NVARCHAR(50))