Error con GROUP BY y ROLLUP
Publicado por adrian (1 intervención) el 29/06/2006 20:20:30
Tengo la siguiente consulta:
SELECT COUNT(*) AS cantidad,
CASE WHEN (GROUPING(MONTH(C.abierto)) = 1) THEN 'ALL'ELSE ISNULL(MONTH(C.abierto), 'UNKNOWN')END AS mes,
CASE WHEN (GROUPING(YEAR(C.abierto)) = 1) THEN 'ALL' ELSE ISNULL(YEAR(C.abierto), 'UNKNOWN') END AS anio,
CASE WHEN (GROUPING(G.Desc_Grupo) = 1) THEN 'ALL' ELSE ISNULL(G.Desc_Grupo, 'UNKNOWN') END AS TipoDeFalla
FROM CDatos As C
LEFT JOIN hdGruposDeFallas as G ON C.Type=G.Desc_Caso
WHERE 1=1 AND abierto >= '2006-03-01 01:00' and abierto <= '2006-06-29 08:29'
group by MONTH(C.abierto),YEAR(C.abierto), G.grupo, G.Desc_Grupo
WITH ROLLUP
order by C.anio,C.mes, C.cantidad desc
Tiene el siguiente ERROR:
"Column 'C.abierto' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause."
No entiendo el error pues esa columna esta en el Select y en el Group by?
(la misma consulta sin el "GROUPING" y el "ROLLUP" funciona bien)
SELECT COUNT(*) AS cantidad,
CASE WHEN (GROUPING(MONTH(C.abierto)) = 1) THEN 'ALL'ELSE ISNULL(MONTH(C.abierto), 'UNKNOWN')END AS mes,
CASE WHEN (GROUPING(YEAR(C.abierto)) = 1) THEN 'ALL' ELSE ISNULL(YEAR(C.abierto), 'UNKNOWN') END AS anio,
CASE WHEN (GROUPING(G.Desc_Grupo) = 1) THEN 'ALL' ELSE ISNULL(G.Desc_Grupo, 'UNKNOWN') END AS TipoDeFalla
FROM CDatos As C
LEFT JOIN hdGruposDeFallas as G ON C.Type=G.Desc_Caso
WHERE 1=1 AND abierto >= '2006-03-01 01:00' and abierto <= '2006-06-29 08:29'
group by MONTH(C.abierto),YEAR(C.abierto), G.grupo, G.Desc_Grupo
WITH ROLLUP
order by C.anio,C.mes, C.cantidad desc
Tiene el siguiente ERROR:
"Column 'C.abierto' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause."
No entiendo el error pues esa columna esta en el Select y en el Group by?
(la misma consulta sin el "GROUPING" y el "ROLLUP" funciona bien)
Valora esta pregunta


0