【问题标题】:sql linked server join querysql链接服务器连接查询
【发布时间】:2014-01-15 12:34:36
【问题描述】:

我在将本地数据库与来自链接服务器的数据库连接时运行任何查询时遇到问题。

我的查询:

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.

我猜我的语法不正确,但我无法修复它。 有人可以提出解决方案吗?

如果有更好的解决方案让我在不同服务器上的 2 个数据库上运行选择查询,请提及。

【问题讨论】:

    标签: sql sql-server-2008 linked-server


    【解决方案1】:

    尝试使用表别名来编写:

    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];
    

    【讨论】:

    • 谢谢,那是缺少的链接。表别名。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-04
    • 2021-08-09
    • 1970-01-01
    • 2017-09-30
    • 1970-01-01
    相关资源
    最近更新 更多