2013-08-21 2 views
-1

Сценарий:......Обновление Таблица1 от Table3 присоединился Table2

нужно установить [XYZ] [DBO] [АДРЕС] [CountryCode] = [ABC] [DBO] [Контакты] [CountryCode]

Таблица соединяет:.

[XYZ] [DBO] [АДРЕС] [AddressID] = [XYZ] [DBO] [ADDRESSLINK] [AddressID]

[XYZ]...... [dbo]. [ADDRESSLINK]. [контактный код] = [ABC]. [dbo]. [CONTACT]. [контактный код]

([X YZ]. [Dbo]. [ADDRESS]. [Addressid] является первичным ключом в [ADDRESS], но не в [ADDRESSLINK])

* Все эти БД находятся на одном сервере SQL.

Пробные внутренние соединения без успеха. Интересно, если мне нужно установить псевдоним в [АДРЕС], чтобы иметь возможность обновлять с [КОНТАКТ]?

ответ

0
UPDATE a 
    SET a.countrycode = c.countrycode 
FROM XYZ.dbo.ADDRESS AS a 
INNER JOIN XYZ.dbo.ADDRESSLINK AS al 
ON a.addressid = al.addressid 
INNER JOIN ABC.dbo.CONTACT AS c 
ON al.contactcode = c.contactcode; 

Почему вы называете имена таблиц всеми именами верхнего и нижнего регистров всех нижних регистров? Это делает вещи SO HARD TO читать. Также попробуйте зарезервировать использование [SQUARE BRACKETS] для случаев, когда они действительно требуются. [Они] [также] [сделать] [вещи] [трудно] [to] [читать].

+0

Извините! Я просто скопировал из редактора, который мы использовали, который форматирует что-то странное. Спасибо за ваш ответ. – user2703803