2010-05-17 90 views
9

我有兩個數據庫:使用內部連接更新?

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 

回答

11
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 
+0

選擇了SQLMenace'identicial版本,因爲ON子句在它自己的行上 - 必要時,當您的ON子句中有AND子句時... – 2010-05-17 14:13:25

2

例如

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

這應該爲你做的伎倆。你錯過了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