[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