Ver Mensaje Individual
  #6  
Antiguo 14-01-2014
Avatar de look
look look is offline
Miembro
 
Registrado: sep 2007
Ubicación: The Shire
Posts: 656
Reputación: 17
look Va camino a la fama
Cita:
Empezado por Jorge Orozco Ver Mensaje
Hola a todos los Amigos de este Foro. Tengo la siguiente situación, y es que quiero obtener las ventas realizadas por mes de los productos. Esto de acuerdo a un parámetro de fecha dado.
Tengo el siguiente query, pero no se como realizar las sumas por cada mes, ya que ne da un error en la suma. Si alguien me puede ayudar, por favor.

begin

IBQuery4.Close;
IBQuery4.SQL.Clear;
IBQuery4.SQL.Add('select extract(year from fafch) anio1, extract(month from fafch) meses1, sum(facantidad) as total_mes'+

'from ARTICULOS a inner join FACTURADT b on (b.FAARID = a.ARID) '+
'inner join FACTURAS c on (c.FAID = b.FAID) and (c.FAESTADO <> '''+estado1+''') and (c.FAFCH between '''+fecha1+''' and '''+fecha2+''') '+
'where a.ARCODIGO = '''+Codigo_Prod.Text+''' group by 1, 2'+
'order by 1, 2');

IBQuery4.Open;
end;

Código Delphi [-]
 With IBQuery4 do
 begin
  Close;
  SQL.Clear;
  SQL.Add('select extract(year from fafch) anio1, extract(month from fafch) meses1, sum(facantidad) as total_mes');
  SQL.Add('from ARTICULOS a inner join FACTURADT b on (b.FAARID = a.ARID) ');
  SQL.Add('inner join FACTURAS c on (c.FAID = b.FAID) and (c.FAESTADO <> :estado) and (c.FAFCH between :fecha1 and :fecha2) ');
  SQL.Add('where a.ARCODIGO = :cod group by 1, 2');
  SQL.Add('order by 1, 2');
  ParamByname('cod').asString :=  Codigo_Prod.Text;
  ParamByname('estado').asString := 'A'; /// estado, no se cual es 
  ParamByname('fecha1').AsDate := dtp1.Date;  /// DateTymePicker fecha desde
  ParamByname('fecha2').AsDate := dtp2.Date; /// DateTymePicker fecha hasta
Prepare;
  Open;
 end;
__________________
all your base are belong to us
Responder Con Cita