Una ayuda con SQL

Una ayuda con SQL

Postby mastintin » Fri Apr 24, 2015 5: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.
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Una ayuda con SQL

Postby Hector Pedro Lerda » Fri Apr 24, 2015 5:38 pm

Mastintin para mi seria algo asi


select a.idarticulo, b.nombre,
sum(if(month(fecha)=1,(unidades*precio),0)) as Enero,
sum(if(month(fecha)=2,(unidades*precio),0)) as Febrero,
sum(if(month(fecha)=3,(unidades*precio),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
User avatar
Hector Pedro Lerda
 
Posts: 46
Joined: Tue May 07, 2013 7:27 pm
Location: Buenos Aires - Argentina

Re: Una ayuda con SQL

Postby joseluisysturiz » Sat Apr 25, 2015 4: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!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Una ayuda con SQL

Postby mastintin » Sat Apr 25, 2015 2: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.
User avatar
mastintin
 
Posts: 1516
Joined: Thu May 27, 2010 2:06 pm

Re: Una ayuda con SQL

Postby jnavas » Sun Apr 26, 2015 6: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... :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.
User avatar
jnavas
 
Posts: 473
Joined: Wed Nov 16, 2005 12:03 pm
Location: Caracas - Venezuela


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Garbi, Google [Bot] and 29 guests