情景:
需要设置[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]更新?
答案 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]
用于实际需要的情况。 [他们] [也] [制作] [事] [努力] [转] [读]。