FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Una ayuda con SQL
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM

Una ayuda con SQL

Posted: Fri Apr 24, 2015 05:05 PM

Os pongo la situación :
una tabla artículos con sus campos : idarticulo, nombre ,precio
una tabla cabecera factura con campos : nfactura, fecha ,cliente
una tabla lineas de factura con campos : nFactura , idarticulo , fecha , unidades vendidas

las facturas tienen multiples y variables lineas.

Necesito sacar la información a un xbrowse o un informe con estas cabeceras :

idarticulo, nombre , ventas en enero, ventas en febrero ,ventas en marzo ....... , total ventas ....
una linea sola por cada articulo con sus ventas.

como veis la tabla cabecera no se necesita , solo lo pongo para clarificar la situación .

Con dbfs la cosa esta realizada . ¿ pero como sería hacerlo con sentencias sql ?
Gracias.

Posts: 46
Joined: Tue May 07, 2013 07:27 PM

Re: Una ayuda con SQL

Posted: Fri Apr 24, 2015 05:38 PM

Mastintin para mi seria algo asi

select a.idarticulo, b.nombre,
sum(if(month(fecha)=1,(unidadesprecio),0)) as Enero,
sum(if(month(fecha)=2,(unidades
precio),0)) as Febrero,
sum(if(month(fecha)=3,(unidadesprecio),0)) as Marzo,
sum((unidades
precio)) as Total
from tabla_cant_vend as a
left join tabla _articulos as b on a.idarticulo = b.idarticulo
where fecha between '2015-01-01' and '2015-03-31'
group by a.idarticulo

espero te sirva

Saludos Pedro Lerda

Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM

Re: Una ayuda con SQL

Posted: Sat Apr 25, 2015 04:52 AM

y si a esto le agregas un INDEX en la tabla por el campo "idarticulo", sera mucho mas rapido el procesamiento de la sumatoria y resultado, los index son IMPORTANTISIMOS...saludos... :shock:

Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM

Re: Una ayuda con SQL

Posted: Sat Apr 25, 2015 02:16 PM

Gracias por contestar , he tenido que realizar unos mínimos cambios y ha funcionado de perlas... :D
Por si a alguien le ocurre con ADS tenemos que cambiar los if por IIf y en el group by añadir también b.nombre para que no generase errores.
Gracias de nuevo.

Posts: 492
Joined: Wed Nov 16, 2005 12:03 PM

Re: Una ayuda con SQL

Posted: Sun Apr 26, 2015 06:37 AM
Felicitaciones,

Es una gran labor de investigación, se puede utilizar para funcionalidades financieras. Ejemplo: Cual debe ser el recorrido de una almacenista para ubicar o buscar los productos de un pedido en uno o varios almacen. Tambien la Ruta de un vendedor para visitar clientes.


mastintin wrote:Gracias por contestar , he tenido que realizar unos mínimos cambios y ha funcionado de perlas... :-)
Por si a alguien le ocurre con ADS tenemos que cambiar los if por IIf y en el group by añadir también b.nombre para que no generase errores.
Gracias de nuevo.

Continue the discussion