Ver Mensaje Individual
  #3  
Antiguo 23-12-2006
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Reputación: 22
fjcg02 Va camino a la fama
Prueba esto, tal cual

Código SQL [-]
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select Clientes.Nombre, Sum (Ventas.Subtotal) as VentasTop');
Query1.SQL.Add('FROM Ventas INNER JOIN Clientes ON Ventas.Id_Cliente = Clientes.Clave');
Query1.SQL.Add('where fecha >= :fechav AND fecha <= :fechah');
Query1.SQL.Add('GROUP BY Clientes.Nombre');
Query1.SQL.Add('ORDER BY VentasTop DESC');
Query1.ParamByNAme('fechav').AsDate := Fecha1;
Query1.ParamByNAme('fechah').AsDate := Fecha2;
Query1.Open;;

Pasa del top 10, te saldrán ordenados de mayor a menor en la suma de ventas. Para qué vas a quedarte con 10 si puedes ver todos. Si no funciona prueba con 'ORDER BY 2 DESC' ( ordeno descendentemente por el 2º campo). En el ejemplo que te pondo estoy suponiendo que en la tabla clientes tienes un campo "nombre", porque si vas a visualizar el idcliente no tiene sentido que incluyas dos tablas.

Suerte.
Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita