更新Table2连接的Table3中的Table1

时间:2013-08-21 16:34:44

标签: sql-server inner-join

情景:

需要设置[XYZ]。[dbo]。[ADDRESS]。[countrycode] = [ABC]。[dbo]。[CONTACT]。[countrycode]

表连接:

[XYZ]。[dbo]。[ADDRESS]。[addressid] = [XYZ]。[dbo]。[ADDRESSLINK]。[addressid]

[XYZ]。[dbo]。[ADDRESSLINK]。[contactcode] = [ABC]。[dbo]。[CONTACT]。[contactcode]

([XYZ]。[dbo]。[ADDRESS]。[addressid]是[ADDRESS]中的主键,但不是[ADDRESSLINK]中的主键

*所有这些数据库都在同一个SQL服务器上。

尝试内部联接但没有成功。想知道我是否需要在[ADDRESS]中设置别名才能从[CONTACT]更新?

1 个答案:

答案 0 :(得分: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]用于实际需要的情况。 [他们] [也] [制作] [事] [努力] [转] [读]。