将来自不同数据库的 table 连接到 table 变量

joining a table from a different database to a table variable

我正在处理一个查询,该查询将一个数据库中的 table 连接到另一个数据库中的 table 变量。但是,每次我尝试 运行 时,我都会收到一条错误消息,提示我需要声明 table 变量,但它已经声明了。请帮忙!

declare @Employee Table
(
    agt_responsible int, 
    employee_last_name varchar(50), 
    employee_first_name varchar(50),
    #_of_Compliments int, 
    DEBIT_Count int,
    DEBIT_POTENTIAL_AMT INT, DEBIT_TNT_AMT int,
    #_of_Value_Adds int,
    amt_of_Value_Adds int
) 

INSERT INTO @Employee
Exec proc_performance_AGT_roi '2015-05-01','2015-05-30'

SELECT * 
from omadb08.TANDT_EMPLOYEE.dbo.ADP_EMPLOYEE 
     INNER JOIN @Employee 
     ON @Employee.agt_responsible = OMADB08.TANDT_EMPLOYEE.DB0.ADP_EMPLOYEE.EMPLOYEE_ID

由于查询的解析方式,当您在连接中使用 table 变量时,您需要使用带引号的标识符([]"")或别名,因此请更改此部分:

INNER JOIN @Employee 
ON @Employee.agt_responsible

至:

INNER JOIN @Employee e
ON e.agt_responsible

INNER JOIN @Employee 
ON [@Employee].agt_responsible

INNER JOIN @Employee 
ON "@Employee".agt_responsible

我会使用别名选项,因为我认为它使查询更易于阅读。