Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   X mejores Clientes (https://www.clubdelphi.com/foros/showthread.php?t=46313)

JAI_ME 28-07-2007 14:17:55

X mejores Clientes
 
buenos dias... :)

les agradesco de ante mano me ayuden a resolver un problema que se me ha presentado...

tengo una tabla de clientes los cuales hacen compras en mi empresa, a final de mes necesito saber los 5 mejores clientes de la empresa....

alguien podria ayudarme con este sql se los agradeceria mucho....

marcoszorrilla 28-07-2007 15:02:48

Pues importante saber con que tipo de tablas trabajas, porque esto puede lograrse de distintas formas dependiendo de las tablas y motor con el que nos conectemos.

Por poner un ejemplo, lo que en Access puede ser Top 10, en Firebird sería First 10, incluso hay motores que no tienen esa posibilidad como Paradox, y entonces habría que recurrir a un truco sucio:

Ordenar por Cantidad de mayor a menor, colocarse en el primero, avanzar 10, tomar el total del décimo, volver a montar el SQL con la instrucción.

Where Total >= Lo_del_Decimo_Que_Habriamos_guardado_en_Una_Variable.

Un Saludo.

JAI_ME 30-07-2007 18:02:02

Buenos Dias La Verdad Estoy Usando Unos Archivos .dbf Ya Creados
Y Los Administro Desde Paradox Y Delphi 6

Gracias Por Su Colaboracion

TheFlame 30-07-2007 18:52:21

Hola.
Para resolver tu problema asumiré que la estructura de tablas es la siguiente:
Cliente(IdCliente,Nombre,…)
Detalles_Compra(IdDetalle,IdCliente,Monto (el costo del producto),…)

Para saber cual cliente compro mas la consulta seria la siguiente:

Código SQL [-]
Select Top 5 Cliente.IdCliente,Cliente.Nombre, Sum(Detalles_Compra.Monto) as TotalComprado
From Cliente Inner Join Detalles_Compra On Cliente.IdCliente=Detalles_Compra.IdCliente
Group By Cliente.IdCliente,Cliente.Nombre
Order by TotalComprado Desc

Nota: Si es que alguna función utilizada en esta consulta no es reconocida, busca su equivalente…

Espero que este aporte te ayude. Saludos.

JAI_ME 03-08-2007 14:44:56

gracias por sus respuestas...

seguramente el Top funciona, pero el problema es que uso paradox y este no reconoce esta instruccion... he buscado en internet una equivalencia pero no la he encontrado, sera que en paradox si se puede hacer esta consulta...


gracias les agradesco cualquier ayuda... :confused:


La franja horaria es GMT +2. Ahora son las 15:17:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi