The column '%.*ls' was specified multiple times for '%.*ls'.

Error Message:
Msg 8156, Level 16, State 1, Line 2
The column ‘%.*ls’ was specified multiple times for ‘%.*ls’.

Severity level:
16.

Description:
This error message appears when you assign the same alias to more than one column of a derived table.

Consequences:
The T-SQL statement can be parsed, but causes the error at runtime.

Resolution:
Errors of the Severity Level 16 are generated by the user and can be fixed by the SQL Server user. The statement cannot be executed this way. You must specify (either explicitly or implicitly) a column name of each column of a derived table.

Versions:
All versions of SQL Server.

Example(s):
USE Northwind
SELECT *
  FROM
   (SELECT CustomerID, MAX(OrderDate)
      FROM dbo.Orders
     GROUP BY CustomerID) AS x(CustomerID, CustomerID)

Remarks:
In the above example we try to derive a table in which we try to assign the alias CustomerID more than once. This raises the error.

]]>

Leave a comment

Your email address will not be published.