Msg 8155, Level 16, State 2, Line 2
No column was specified for column %d of ‘%.*ls’.
This error message appears when a column of a derived table cannot be assigned a unique column name.
The T-SQL statement can be parsed, but causes the error at runtime.
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.
All versions of SQL Server.
(SELECT CustomerID, MAX(OrderDate)
GROUP BY CustomerID) x
In the above example we try to derive a table. Because we use the MAX() aggregate function on the column OrderDate, SQL Server cannot implicitly assign a name to that column. And because we haven’t explicitly specified a column alias name, the error is raised.