Hola
Me parece que tienes que hacer una distincion de los productos para que no se te dupliquen en la factura.
Ademas tendras que hacer la suma de la cantidad por medio de un group by ya que necesitaras establecer el grupo.
Algo asi:
Código Delphi
[-]
procedure TForm13.Button1Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Text:= 'SELECT DISTINCT Cod_prodser,descripcion, importe, Sum(Cantidad) as Cantidad_Total FROM detfactura.DB ' +
' inner join factura.DB on Cod_fact = Cod_prodser ';
if combobox2.Text = 'Más vendidos' then
begin
Query1.SQL.Add( 'WHERE factura.Fecha >= :Fecha1 and factura.Fecha <= :Fecha2' +
' Group by Cod_prodser,descripcion, importe '+
' ORDER BY detfactura.Cantidad ASC ');
Query1.Params[0].Value:= TuDato1;
Query1.Params[1].Value:= TuDato2;
Query1.Active:=true;
end;
Query1.Close;
end;
A ver si te sirve de ejemplo o por lo menos para pasar el rato.
Saludos