从不同的数据库SQL Server连接相同的表

时间:2015-10-13 09:56:55

标签: sql sql-server

我尝试连接两个同名的表,但是在彼此不同的数据库上这样:

SELECT DB2.DBO.DICTIONARY.ID AS ID,
    DB2.DBO.DICTIONARY.NAME AS NN,
    DB1.DBO.DICTIONARY.NAME AS N
FROM DB2.DBO.DICTIONARY
INNER JOIN DB1.DBO.DICTIONARY AS DICT
ON DB2.DBO.DICTIONARY.ID = DICT.ID

但我一直收到错误:

  

多部分标识符" DB1.DBO.DICTIONARY.NAME"不可能   界。

我的目标是在ID加入他们,但为NAME列添加不同的别名。因为DB1.NAME中的数据与DB2.NAME中的数据不同。

1 个答案:

答案 0 :(得分:0)

您已使用表DB1.DBO.DICTIONARY的别名,因此您无法再使用相同的名称引用它。您必须使用别名DICT来引用它:

SELECT 
  DB2.DBO.DICTIONARY.ID AS ID,
  DB2.DBO.DICTIONARY.NAME AS NN,
  DICT.NAME AS N
FROM DB2.DBO.DICTIONARY 
INNER JOIN DB1.DBO.DICTIONARY AS DICT
ON DB2.DBO.DICTIONARY.ID = DICT.ID