Обновить с помощью внутреннего соединения? - PullRequest
9 голосов
/ 17 мая 2010

У меня есть две базы данных:

DB1 and DB2

Как сделать что-то вроде:

update myServer.DB1.dbo.hotels.Name = myServer.DB2.dbo.hotels.Name

join myServer.DB2.dbo.hotels on myServer.DB2.dbo.hotels.Code=  myServer.DB1.dbo.hotels.Code
where myServer.DB2.dbo.hotels.CountryCoe !=  myServer.DB1.dbo.hotels.CountryCode

Ответы [ 3 ]

11 голосов
/ 17 мая 2010
UPDATE  h1
SET     h1.name = h2.name
FROM    myServer.DB1.dbo.hotels h1
JOIN    myServer.DB2.dbo.hotels h2
ON      h2.Code = h1.Code
WHERE   h1.CountryCode <> h2.CountryCode
2 голосов
/ 17 мая 2010

пример

update h1 
set h1.Name = h2.Name
from DB1.dbo.hotels.Name h1
join DB2.dbo.hotels  h2 on h1.Code= h2.Code
where h2.CountryCoe !=  h1.CountryCode
1 голос
/ 17 мая 2010

Это должно помочь вам. Вы пропустили предложения SET и FROM.

UPDATE DB1
SET DB1.Name = DB2.Name 
FROM DB1.dbo.hotels DB1
INNER JOIN DB2.dbo.hotels DB2 
ON DB2.Code = DB1.Code 
WHERE DB2.CountryCoe !=  DB1.CountryCode 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...