[firebase-br] RES: Os 10 clientes que mais compraram ?
Ton
hevertonc em hotmail.com
Qua Jan 11 11:28:04 -03 2006
Dependendo do Tipo de componente que você está usando, você pode fazer
essa limitação no componente... Como no ClientDataSet por exemplo, dizer que
trará só 10 registros e criar um Campo Agregate para fazer a soma...
Outra forma, é ter o seu Union All numa View e fazer o select com o First
10 sobre a View, assim ele não terá problemas com mais de 10 registros,
porque do jeito que está o seu, ele vai trazer 20 registros, ou seja os 10
primeiros de cada um dos 2 selects...
Ton
Analista de Sistemas
DotCom Informática
"A informação não é um produto,
mas sim a matéria prima." (Ton)
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de diogo em smartsistemas.com.br
Enviada em: quarta-feira, 11 de janeiro de 2006 11:17
Para: FireBase
Assunto: [firebase-br] Os 10 clientes que mais compraram ?
Pessoal, neste select estou trazendo todos os clientes que compram, so que
quero somente os 10 primeiros e quando coloco a opcao first 10, ele não traz
o total certo e nem a quantidade de registros, pois estou usando union all,
alguem sabe como fazer? Valeu...
select first 10 sum(OP.VALOR - OP.DESCONTO), OP.COD_CLIENTE,
CL.RAZAOSOCIAL_NOME, CL.CNPJ_CPF, CL.IE_RG,
T.DESCRICAO as DESCRICAOTIPOCLIENTE, C.CIDADE as NOMECIDADE, C.UF
from ORCAMENTOPEDIDO OP, CLIENTE CL left outer join TIPOCLIENTE T on
(CL.COD_TIPOCLIENTE = T.CODIGO)
left outer join CIDADE C on
(CL.COD_CIDADE = C.CODIGO)
where OP.COD_CLIENTE = CL.CODIGO
group by OP.COD_CLIENTE, CL.RAZAOSOCIAL_NOME, CL.CNPJ_CPF, CL.IE_RG,
T.DESCRICAO, C.CIDADE, C.UF
union all
select first 10 sum(V.VALORVENDA - V.DESCONTO + V.ACRESCIMO), V.COD_CLIENTE,
CL.RAZAOSOCIAL_NOME, CL.CNPJ_CPF, CL.IE_RG,
T.DESCRICAO as DESCRICAOTIPOCLIENTE, C.CIDADE as NOMECIDADE, C.UF
from VENDA V, CLIENTE CL left outer join TIPOCLIENTE T on
(CL.COD_TIPOCLIENTE = T.CODIGO)
left outer join CIDADE C on (CL.COD_CIDADE =
C.CODIGO)
where V.COD_CLIENTE = CL.CODIGO
group by V.COD_CLIENTE, CL.RAZAOSOCIAL_NOME, CL.CNPJ_CPF, CL.IE_RG,
T.DESCRICAO, C.CIDADE, C.UF
order by 1 desc
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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