[英]Using a table variable in SQL Server
我為表變量設計了一個小查詢。 這是代碼:
DECLARE @TESTTABLE TABLE (ID INT, NAME VARCHAR(40))
INSERT INTO @TESTTABLE
VALUES (1, 'WALLEY'), (2, 'BARRY'), (3, 'TIM'),
(4, 'DICK'), (5, 'BRUCE')
我的問題是SQL允許使用表變量的別名,如下面的查詢。
SELECT *
FROM @TESTTABLE t
INNER JOIN EMPLOYEE_DETAILS ON t.ID = BusinessEntityID
但是你不能使用如下的實際表變量名:
SELECT *
FROM @TESTTABLE
INNER JOIN EMPLOYEE_DETAILS ON @TESTTABLE.ID = BusinessEntityID
以上查詢顯示錯誤。
有沒有人有這個答案? 會非常有幫助的。
在T-SQL中,您需要在連接變量表時使用別名。
參考: https : //odetocode.com/articles/365.aspx (參見章節:限制)
它應該給你這樣的東西:
SELECT *
FROM @TESTTABLE tt
INNER JOIN EMPLOYEE_DETAILS emp_d
ON tt.ID = emp_d.BusinessEntityID
使用“[..]”引用表變量的名稱。 這對我有用:
SELECT *
FROM @TESTTABLE INNER JOIN
EMPLOYEE_DETAILS
ON [@TESTTABLE].ID = BusinessEntityID
也就是說,我可能更喜歡使用別名,或者只是使用CTE並完全放棄表變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.