2015-11-30 172 views
0

SQL查询我试图更新从一个数据库到另一个数据。它们在单独的SQL服务器上,但是它们是相同的DB(活动服务器和测试服务器)。我的问题是它似乎并不喜欢 - 在我的SQL服务器名称,我不知道如何解决这个问题。这里是查询的结构,似乎唯一的问题是 - 在维修内部网中。- 在导致语法错误

update AdditionalInfo 
set UserDefined25 = seredixserver.activem_repacorp_live.additionalinfo.userdefined25 

from repa-intranet.activem_repacorp_live.additionalinfo 

join seredixserver.activem_repacorp_live.additionalinfo 
on repa-intranet.activem_repacorp_live.additionalinfo.ownerid = seredixserver.activem_repacorp_live.additionalinfo.ownerid 
+3

试着在服务器名称扔方括号? '[repa-intranet] .activem_repacorp_live .....' – user2366842

回答

2

使用明确的别名和方括号:

update rai 
    set UserDefined25 = sai.userdefined25 
from [repa-intranet].activem_repacorp_live.additionalinfo rai join 
    seredixserver.activem_repacorp_live.additionalinfo sai 
    on rai.ownerid = sai.ownerid; 

方括号是不够的,因为在update additionalinfoadditionalinfo是模糊的。两个表都有相同的名称。

另外,别名只是让查询更容易阅读。

+0

好的呼叫别名用法。在我对主要职位的初步评论中错过了这一点,因为我甚至没有意识到这两张表被命名为相同。 – user2366842

+0

谢谢你完美的工作! – ericpalmer806