Ver Mensaje Individual
  #3  
Antiguo 30-11-2007
Petolansa Petolansa is offline
Miembro
 
Registrado: jul 2005
Posts: 159
Reputación: 19
Petolansa Va por buen camino
Disculpa, se que sono a que no quise explicar el problema y obtener una ayuda, pero puse eso de bla bla, porque simplmente crei que no lo soprtaba, y que me digan si o no. Por ahi se que es una falta de resperto y pido disculpas.Es lo ultimo que haria, con la ayuda desinteresada que recibo por parte de ustedes. Sobre todo a gente como vos que fuiste uno de los que mas me esta dando una mano.

Resulta que al descubrir que no soporta el top se me ocurrio mostrar en un dbgrid a todos los mejores clientes, y luego seleccionarlos e mandarlos a un reporte.

Porbando y metiendo mano y ayudandome con otros hilos, intente armar esto, para que me muestre por un periodo de fecha los clientes, con las sumas de las facturas de cda uno.




Código SQL [-]
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select clientes.clinom, factura.fecha, sum (factura.importetotal) as ventas');
query1.SQL.Add('From factura inner join clientes on factura.clicod=clientes.clicod');
query1.SQL.Add('where factura.fecha >=:fechadesde and factura.fecha<=:fechahasta');
query1.SQL.Add('group by clientes.clinom');
query1.SQL.Add('order by ventas desc');
query1.Params.ParamByName('fechadesde').AsDate:=datetimepicker1.date;
query1.Params.ParamByName('fechahasta').AsDate:=datetimepicker2.Date;
query1.ExecSQL;

Esto me da el siguiente error
EDBE with message'When GROUP BY exists, every simple field in projectors must be in GROUP BY'

Se que me dice que algo de todos los campos, deben estar en group by, pero no termino de deducirlo.
Al final termine investigando y metiendo mano con SQL. Que era lo que queria evitar, aunque es mucho mas facil, estoy aprendiendo.

Desde ya muchas gracias, Saludos
Responder Con Cita