Exacto, no me di cuenta de eso, pense que lo quería para un informe y por lo general hace falta de esa forma, si lo quiere por fila entonces con la tabla Dias, pudiera quedar así
Código SQL
[-]
select d.dia, IsNull(kgs,0) kgs
from dia d left join
(select Day(fecha) Dia, sum(kgs) kgs from
where fecha between '20110101' and '20110131'
group by fecha) x on d.dia = x.dia
claro en sql Server