Таблица 'dbo. UserProperties неоднозначен. Почему эта ошибка прибывает?

Почему этот оператор обновления не становится скомпилированным? Согласно MSDN это совершенно правильно.

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))
6
задан Oded 5 July 2010 в 07:48
поделиться

1 ответ

Думаю, вам нужно сослаться на Псевдоним в ОБНОВЛЕНИИ для самостоятельного СОЕДИНЕНИЯ. По крайней мере, я только что попробовал ОБНОВЛЕНИЕ с самостоятельным СОЕДИНЕНИЕМ, и у меня сработал следующий синтаксис.

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))
10
ответ дан 10 December 2019 в 00:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: