Olá amigos.
Estou fazendo um relátorio de Faturamento, para mostrar em um gráfico o faturamento de cada dia do mes, só que o problema é que
se não tiver NUNHUM pedido em determinado dia ele não retorna nada, deveria retornar pelo menos com o dia e o faturamento = 0.
o SQL que tou usando.
select
Extract(YEAR From dataHora) AS ano,
Extract(DAY From dataHora) AS dia,
sum(precoTotal) as valor
from
Pedido this_
where
Extract(Month From dataHora) in (1)
and Extract(YEAR From dataHora) in (2009 , 2008)
and status ='Concluido'
group by
dia,
ano
order by
ano desc,
dia asc
O Retorno de exemplo:
(ano, dia, valor)
2009 2 1.5
2009 4 12
2009 5 12
2009 6 23.2999992370605
2009 7 14.5
2009 9 6.90000009536743
2009 11 16.8000001907349
2009 12 1.5
2009 13 4.5
2009 14 25.5
(…etc…)
Observe que os dias 1, 3, 8… não aparece pois não tem nenhum registro, eu preciso que eles apareçam mesmo com o Valor 0.
Alguem tem uma dica ?!?
Achei uma solução que não gostei… que será criar uma tabela de Calendario e fazer um Left Join nela, pois ai ele traria os valores…
Mas não considero essa solução (Gambiarra… rsrsrrs)