Ссылочный столбец в таблице на другом сервере в UPDATE / JOIN (SQL Server) - PullRequest
3 голосов
/ 13 марта 2012

Я знаком с именами из 4 частей, но каждый раз, когда я пытаюсь сослаться на столбец, я получаю сообщение об ошибке. Например:

UPDATE my_table
SET my_table.column1 = otherserver.otherdatabase.dbo.othertable.column1
FROM my_table INNER JOIN otherserver.otherdatabase.dbo.othertable
ON my_table.column2 = otherserver.otherdatabase.dbo.othertable.column2

Это выдает следующую ошибку:

Не удалось связать многоэлементный идентификатор "otherserver.otherdatabase.dbo.othertable.column1".

У меня никогда не бывает проблем, если я только ссылаюсь на таблицу, но когда я добавляю имя столбца, оно всегда выдает ошибку. Есть идеи? SQL Server 2008

Ответы [ 2 ]

5 голосов
/ 13 марта 2012

Просто используйте имя таблицы при определении ваших столбцов.

UPDATE my_table
SET my_table.column1 = othertable.column1
FROM my_table INNER JOIN otherserver.otherdatabase.dbo.othertable
ON my_table.column2 = othertable.column2

Или используйте псевдоним.

UPDATE my_table
SET my_table.column1 = OT.column1
FROM my_table INNER JOIN otherserver.otherdatabase.dbo.othertable as OT
ON my_table.column2 = OT.column2
1 голос
/ 13 марта 2012

Используйте псевдоним таблицы, затем получите доступ к столбцу:

UPDATE my_table
SET my_table.column1 = A.column1
FROM my_table INNER JOIN otherserver.otherdatabase.dbo.othertable A
ON my_table.column2 = A.column2
...