Skip navigation

Qualifying a Table Variable’s Columns

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
TAGS: SQL
Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish