T-SQL:如何加入@variable表

Wan*_*son 4 sql t-sql sql-server-2008

可能重复:
T-SQL:如何加入@variable表(另一个尝试)

第一:我正在使用SQL Server 2008.在涉及大量数据的复杂算法中,我一直在使用创建中间表变量的技术:

DECLARE @table AS TABLE (Col1 INT, Col2 VARCHAR(100))
Run Code Online (Sandbox Code Playgroud)

遗憾的是,SQL Server不支持JOINning @variable表,只允许加入"true"表,即数据库中的表.

我可以做"手动"加入,就像

FROM @table1 t1, @table2 t2
WHERE t1.Id = t2.Id
Run Code Online (Sandbox Code Playgroud)

这导致INNER JOIN,但这对我来说是错误的.问题是:如何完全加入两个@variable表?

Ray*_*Ray 11

你是什​​么意思SQL不支持连接表变量?

这个对我有用

DECLARE @table1 AS TABLE (Col1 INT, Col2 VARCHAR(100))
DECLARE @table2 AS TABLE (Col1 INT, Col2 VARCHAR(100))

SELECT *
FROM @table1 t1
FULL JOIN @table2 t2 on t1.Col1 = t2.Col1
Run Code Online (Sandbox Code Playgroud)