Tengo una tabla que almacena varios elementos para un estado y quiero obtener el recuento de todos los estados según las condiciones específicas. Escribí esta consulta:Caso y recuento en SQL Server 2008
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
pero me sale este 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.
Cuando añadí GROUP BY
cláusula Para state_id, que tiene por encima de error de nuevo por STATE_NAME, y cuando se añade STATE_NAME a GROUP BY
cláusula, me Obtuvo el error para State_All, State_w, State_s.
No tengo una columna llamada State_All, State_w, State_s en mi tabla.
¿Cómo puedo obtener el recuento según las condiciones específicas sin usar CURSORS
?
Solo ha cambiado la forma en que las columnas son alias. OP ya ha intentado GRUPO POR – gbn