使用内部联接更新?

时间:2010-05-17 13:46:58

标签: sql-server

我有两个数据库:

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 个答案:

答案 0 :(得分: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

答案 1 :(得分: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

答案 2 :(得分: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