I have a table that stores multiple items for a state and I want to get count for every states according to specific conditions. I wrote this query:
SELECT
State_ID,
State_Name,
State_All= CASE WHEN type1=1 AND type2=1 THEN COUNT(Id) END
State_w= CASE WHEN type1=2 AND type2=1 THEN COUNT(Id) END
State_s= CASE WHEN type1=2 AND type2=2 THEN COUNT(Id) END
FROM
tblStates
but I get this Error:
Column 'State_ID' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
When I added GROUP BY clause For State_ID,I got above error again for State_Name,and when added State_Name to GROUP BY clause ,I got error for State_All,State_w,State_s.
I don’t have a column called State_All,State_w,State_s in my table.
How I can get count according to specific conditions without using CURSORS?
Would this fix it?