[firebase-br] Firebird 2.0 First
Ivan Guimarães Meirelles
igmeirelles em gmail.com
Qua Dez 27 12:38:37 -03 2006
Olá Paulo...
Vamos ver se consigo te ajudar em alguma coisa...
Suponhamos que vc tenha 3 tabelas (vendas, vendedores, itens) onde há um
relacionamento da tabela vendas com itens e vendedores.
Criei uma procedure que retorna para cada vendedor os 5 produtos que ele
mais vendeu, ai vc adapta a sua realidade...
CREATE PROCEDURE PRODUTOS_MAIS_VENDIDOS
returns (
id_vendedor integer,
id_produto integer,
qtd_vendida decimal(15,2))
as
declare variable id_aux integer;
begin
for select
vd.idatendente
from vendedores vd
into
:id_aux
do
begin
for select first 5
i.idproduto,
sum(i.quantidade)
from itens i
join vendas v on v.idvenda = i.idvenda
where v.idvendedor = :id_aux
group by 1
order by 2 desc
into
:id_produto,
:qtd_vendida
do
begin
id_vendedor = :id_aux;
suspend;
end
end
end
Bom, se vc postar ai as estruturas de suas tabelas, poderei adaptar a SP
para vc...
PS.: Pode não ser a maneira mais fácil ou elegante... porém funcionou... se
alguém puder melhorar, eu também gostaria de aprender mais...
Um abraço.
-----Original Message-----
From: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
On Behalf Of Paulo Geloramo
Sent: quarta-feira, 27 de dezembro de 2006 10:09
To: Lista Firebird
Subject: [firebase-br] Firebird 2.0 First
Firebird 2.0
Como retornar os 5 produtos mais
vendidos de cada vendedor?
ven pro
1 1
1 2
1 3
1 4
1 5
2 1
2 2
2 3
2 4
2 5
Nos testes que fiz usando first
esta retornando todos.
Alguma sugestão?
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista