Fórum Total vendas mes a mes por estado #367895
24/01/2009
0
UF - JAN - FEV - MAR - ABR - MAI - JUN ...
SP 0,00 0,00 0,00 0,00 0,00 0,00
RJ 0,00 0,00 0,00 0,00 0,00 0,00
PR 0,00 0,00 0,00 0,00 0,00 0,00
MA 0,00 0,00 0,00 0,00 0,00 0,00
Utilizo Delphi 7 + Firebird
Tabelas utilizadas: CLIENTE, UF, VENDAS
Desde já agradeço.
Eremita
Curtir tópico
+ 0Posts
26/01/2009
Webjoel
Olha exatamente desta forma que você está querendo só é possível se não me engano no firebird 2.1.1 ou talvez até somente no 2.5.
mas isso você pode montar na sua própria aplicação, o select para tornar as informações terá que ser dessa forma:
select extract(month from v.data_venda) as mes, u.uf, sum(v.vl_venda) as total_venda from venda v inner join cliente c on (c.cod_cliente = v.cod_cliente) inner join uf u on (u.uf = c.uf) group by 1,2
Gostei + 0
26/01/2009
Walter Faria
select extract(month from p.data) as mes, sum(i.Total) as total_venda
from Pedido p
inner join pedidoitem i on (i.codpedido = p.codpedido)
Where extract(Year from p.Data) = 2009
Group By p.data
MES TOTAL_VENDA
1 340,00
1 200,00
Todas as Vendas estao na DATA de janeiro, pq nao agrupou numa so linha
MES TOTAL_VENDA
1 540,00
Estou usando INTERBASE e D7 , Obrigado
Gostei + 0
26/01/2009
Joaoshi
Espero ter ajudado.
Gostei + 0
26/01/2009
Webjoel
Completando o que o amigo acima citou, segue abaixo a solução para seu caso, mas fica o select mais lento:
select extract(month from p.data) as mes, sum(i.Total) as total_venda from Pedido p inner join pedidoitem i on (i.codpedido = p.codpedido) Where extract(Year from p.Data) = 2009 Group By extract(month from p.data) ou select extract(month from p.data) as mes, sum(i.Total) as total_venda from Pedido p inner join pedidoitem i on (i.codpedido = p.codpedido) Where extract(Year from p.Data) = 2009 Group By 1
Gostei + 0
26/01/2009
Walter Faria
Gostei + 0
27/01/2009
Webjoel
Tente isso:
select mes, sum(total) from ( select extract(month from p.data) as mes, i.Total as total from Pedido p inner join pedidoitem i on (i.codpedido = p.codpedido) Where extract(Year from p.Data) = 2009) group by mes
Gostei + 0
28/01/2009
Pestana_
select extract(month from p.data) as mes, sum(i.Total) as total_venda from Pedido p inner join pedidoitem i on (i.codpedido = p.codpedido) Where extract(Year from p.Data) = 2009 Group By extract(month from p.data) ou select extract(month from p.data) as mes, sum(i.Total) as total_venda from Pedido p inner join pedidoitem i on (i.codpedido = p.codpedido) Where extract(Year from p.Data) = 2009 Group By 1
eremita, esta solução que o webjoel sugeriu não funcionou? poste a mensagem de erro.
Gostei + 0
28/01/2009
Eremita
Gostei + 0
29/01/2009
Walter Faria
coluna Select nao existe. oq pode ser estou usando INTERBASE
Obrigado
****************
select mes, sum(total) from (select extract(month from p.data) as mes, i.Total as total from Pedido p
inner join pedidoitem i on (i.codpedido = p.codpedido)
Where extract(Year from p.Data) = 2009)
group by mes
Gostei + 0
02/02/2009
Walter Faria
Obrigado
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)