select

Firebird

27/02/2003

Caros amigos preciso de um resultado de um select da seguinte forma!!!

preciso numa só linha as vendas de um periodo de junto o acumulado da mesma... ex.

codigo cliente, vendas do periodo, vendas acumuladas

como eu faço isso????? tentei fazer com UNION mais nao funciona como eu poderia fazer ?????

Utilizo o INTERBASE 6.


Fernando Marroco

Fernando Marroco

Curtidas 0

Respostas

Anonymous

Anonymous

27/02/2003

Vixe cara já comecei não entendendo tudo. como vc quer numa so linha as vendas? pelo q captei vc quer somar as vendas. é isso se for isso é simples

select sum(precovenda) from vendas
where data1 between ´01/01/2003´ and ´now´

qualquer coisa q quer q saia a mais vai ter q usar group by

boa sorte e tudo de bom,


João Nelson
..:: _nekinho_ ::..


GOSTEI 0
Fernando Marroco

Fernando Marroco

27/02/2003

Vixe cara já comecei não entendendo tudo. como vc quer numa so linha as vendas? pelo q captei vc quer somar as vendas. é isso se for isso é simples select sum(precovenda) from vendas where data1 between ´01/01/2003´ and ´now´ qualquer coisa q quer q saia a mais vai ter q usar group by boa sorte e tudo de bom, João Nelson ..:: _nekinho_ ::..


gostaria de fazer um select que aparecesse da seguinte forma:
select
Cliente.codg_cliente, Cliente.Nome_cliente, sum(pedido.vl_total) as total_vendas, sum(pedido.vl_total) as acumulado
from pedido, clientes
where pedido.codg_cliente = cliente.codg_cliente and
pedido.data between ´01/01/2003´ and ´31/01/2003´
group by cliente.codg_cliente, clientes.nome

só que no acumulado tem que sair de outro periodo de data ou seja
data between ´01/01/2003´ and ´27/02/2003´
sum(pedido.vl_total) as acumulado


GOSTEI 0
Anonymous

Anonymous

27/02/2003

Tente isto:

select
Cliente.codg_cliente, Cliente.Nome_cliente,
sum(pedido.vl_total) as total_vendas,
(SELECT sum(vl_total) FROM pedido WHERE codg_cliente = cliente.codg_cliente AND data BETWEEN ´01/01/2003´ AND ´27/02/2003´) as acumulado
from pedido, clientes
where pedido.codg_cliente = cliente.codg_cliente and
pedido.data between ´01/01/2003´ and ´31/01/2003´
group by cliente.codg_cliente, clientes.nome

REPARE: é um select usado dentro da sessão de colunas, por isso, tem que ficar entre parentese, pois, vai ser retornado o ´valor total´ no período desejado. Ah! o alias ´acumulado´ tem que ficar fora do parentese do select.

Espero que funcione. Se não creio que faltaria só alguns ajustes.

andersonbox


GOSTEI 0
POSTAR