2010-06-11 9 views

Respuesta

2

Se ayudaría a ver la consulta completa en cuestión. Para cada valor de fecha que existe en stats, debe obtener NULL para la suma o un valor entero. Si está agrupando por [Fecha] y no existe un valor de fecha dado, obviamente no aparecerá. Por ejemplo, considere la siguiente prueba:

Create Table Test (Clicks int null, [Date] datetime null) 
Insert Test(Clicks,[Date]) Values(1,'2010-06-06') 
Insert Test(Clicks,[Date]) Values(2,Null) 
Insert Test(Clicks,[Date]) Values(3,'2010-06-06') 
Insert Test(Clicks,[Date]) Values(4,'2010-06-07') 
Insert Test(Clicks,[Date]) Values(4,Null) 
Insert Test(Clicks,[Date]) Values(4,'2010-06-07') 
Insert Test(Clicks,[Date]) Values(Null,'2010-06-08') 

Select T.[Date], Sum(Clicks) 
From Test T 
Group By T.[Date] 

Los resultados deben verse como:

NULL      6 
2010-06-06 00:00:00.000 4 
2010-06-07 00:00:00.000 8 
2010-06-08 00:00:00.000 NULL 

Nota sigo teniendo una fila incluso cuando Sum(Clicks) es nulo. ¿Es que estás uniendo esta información a otra cosa en el cálculo de Sum(Clicks)?

0

Dado que está haciendo un grupo por fecha, asumo que tiene más de un registro por fecha. Creo que tendrías que llamar al ifnull en los datos originales, o perderás algunos.

Por ejemplo, si Jun decima tuvo cargos de 10, 20, 30 y nula, se obtendría nulo en lugar de 60.

Creo que esto evitará que el tema:

select ifnull(sum(ifnull(clicks,0)), 'null'), date from stats group by date;