SQL 链接服务器连接查询语句

6

我遇到了连接本地数据库和链接服务器数据库时无法运行任何查询的问题。

我的查询语句:

SELECT 

        [LocalDatabase].[dbo].[Record].[Project_ID],
        [LinkedServer].[Reporting].[dbo].[Active].[Name]

        FROM [LocalDatabase].[dbo].[Record] inner join 
             [LinkedServer].[Reporting].[dbo].[Active] ON
             [LocalDatabase].[dbo].[Record].[Project_ID] = [LinkedServer].[Reporting].[dbo].[Active].[Delivery_Number]

错误:

Msg 4104, Level 16, State 1, Line 9
The multi-part identifier "LinkedServer.Reporting.dbo.Active.Delivery_Number" could not be bound.
Msg 4104, Level 16, State 1, Line 5
The multi-part identifier "LinkedServer.Reporting.dbo.Active.Name" could not be bound.

我猜测我的语法有误,但却无法修复它。 请有人提供解决方案吗?

如果有更好的方法可以在两个不同服务器上运行选择查询,请注明。

1个回答

13

尝试使用表别名编写此代码:

SELECT r.[Project_ID], a.[Name]
FROM [LocalDatabase].[dbo].[Record] r inner join 
     [LinkedServer].[Reporting].[dbo].[Active] a
     ON r.[Project_ID] = a.[Delivery_Number];

谢谢,那就是缺失的链接。表别名。 - sd_dracula

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接