将来自不同数据库的 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
我会使用别名选项,因为我认为它使查询更易于阅读。
我正在处理一个查询,该查询将一个数据库中的 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
我会使用别名选项,因为我认为它使查询更易于阅读。