Qualifying a Table Variable’s Columns
Try this neat trick for referencing a table variable’s columns in a statement.
February 28, 2002
When I declare a table variable and refer to its columns as @table_variable.column_name, I get the error message Incorrect syntax near '.'. However, when I replace @table_variable.column_name with column_name, the query executes correctly. How can I qualify the table variable's columns?
To qualify the table variable's columns, you have to assign an alias to the table variable, then use that alias to qualify the columns from that table variable. The following example declares a table variable, populates it with one row, provides the alias T to the table variable, then uses the alias T as the column qualifier:
DECLARE @mytable TABLE(col1 int)INSERT INTO @mytable VALUES(1)SELECT T.col1 FROM @mytable AS T
Using a table alias is often required when the table variable is involved in a join because you have to qualify columns in the table variable that have the same names as columns in the second table. The following code snippet uses a table alias in a join:
SELECT *FROM @mytable AS T1 JOIN T2 ON T1.key_col = T2.key_col
About the Author
You May Also Like