Skip to content
Advertisement

SQL Server : “invalid column name” error after GROUP BY on subquery

I am trying to perform the following query on a SQL Server database table with a GROUP BY on a column which results from a CASE statement done on a subquery:

The error I am getting is

MSSQLDatabaseException: (207, b”Invalid column name ‘user_payment_type’.DB-Lib error message 20018, severity 16:nGeneral SQL Server error: Check messages from the SQL Servern”)

Note that the column name user_payment_type is unique and does not already exist in MyTable.

Advertisement

Answer

SQL Server does not allow the use of this aliased column in the group by clause (others like MySql do allow it) because the group by clause is executed before select.
You have to use that case statement:

User contributions licensed under: CC BY-SA
7 People found this is helpful
Advertisement