SQL no Interbase Vendas mensais

Firebird

12/01/2008

Estou com duvidas no interbase com relacao ao SQL que fiz para trazer a soma das vendas mensais de uma empresa

SELECT DISTINCT EXTRACT(MONTH FROM DATAVENDA) || ´/´ || EXTRACT(YEAR FROM DATAVENDA )) DATA, SUM(TOTALVENDA) TOTAL FROM TBLVENDAS
WHERE DATAVENDA BETWEEN ´01.01.2007´ AND ´31.12.2007´
GROUP BY DATAVENDA
ORDER BY DATAVENDA ASC

com este select na hora de executar ao inves de somar todas as vendas do mes vai listando as vendas diarias nao a totalizacao por mes


Lfra

Lfra

Curtidas 0

Respostas

Flyskin

Flyskin

12/01/2008

o problema está no group by, como está agrupando por um campo que possui uma função, você precisa agrupar também com a função pois senão irá agrupar pelo campo original.
Ex.:
group by extract(month from datavenda) || ´/´ || extract(year from datavenda)

A mesma coisa será no order by pois senão irá ordernar pelos valores do campo original (datavenda).

Espero que possa ter ajudado


GOSTEI 0
POSTAR