Totalizando mes a mes
fiz um select q retorna um total por mes, exemplo:
select c.case,sum(c.quantidade) /*obs. pra num ficar grande tirei o case do sql, mas ele q trata as datas e separa por mes/ano*/
where c.data between :pdata1 and :pdata2
janeiro - 200
fevereiro - 300
.....
mas supondo q nao houve movimento em março, retorna dessa forma:
janeiro - 200
fevereiro - 300
abril - 300
.....
pois na extract(month from c.data)=3 elimina março da lista
mas eu preciso q retorne:
janeiro - 200
fevereiro - 300
março - 0
abril - 300
alguém pode me ajudar??
desde já agradeço, té mais (bco firebird 1.5)
select c.case,sum(c.quantidade) /*obs. pra num ficar grande tirei o case do sql, mas ele q trata as datas e separa por mes/ano*/
where c.data between :pdata1 and :pdata2
janeiro - 200
fevereiro - 300
.....
mas supondo q nao houve movimento em março, retorna dessa forma:
janeiro - 200
fevereiro - 300
abril - 300
.....
pois na extract(month from c.data)=3 elimina março da lista
mas eu preciso q retorne:
janeiro - 200
fevereiro - 300
março - 0
abril - 300
alguém pode me ajudar??
desde já agradeço, té mais (bco firebird 1.5)
Lip
Curtidas 0
Respostas
Emerson Nascimento
11/07/2008
talvez seja mais fácil fazer isso via stored procedure.
GOSTEI 0
Lip
11/07/2008
eh possivel fazer isso somente utilizando um select? unindo dois ou... num sei.... dá uma luz ae
GOSTEI 0
Joaoshi
11/07/2008
Colega, no Firebird 2.1 tem um negócio chamado [b:0e4974b3d3]Common Table Expressions[/b:0e4974b3d3] CTE, que podera resolver este problema.
GOSTEI 0