Calcular ventas por meses

Hola experto necesito de su ayuda, estoy trabajando con tres campos:
Nombre de tarjeta = Clásica, Mastercard, Sonny etc.. Valor tipo carácter
Meses= 1,2,3,4,5,6,7,8,9,10,11,12 valor numérico
Precio de venta= valor numérico
Lo que necesito es una sentencia sql donde pueda ver cuantas ventas se realizaron por tipo de tarjeta y que sea por meses, yo manejo este código pero no muestra lo que necesito.
Gracias por su ayuda
select Nom_tarjetas,;
sum(iif(MES=1,1,0)) as Enero,;
sum(iif(MES=2,1,0)) as Febrero,;
sum(iif(MES=3,1,0)) as Marzo,;
sum(iif(MES=4,1,0)) as Abril,;
sum(iif(MES=5,1,0)) as Mayo,;
sum(iif(MES=6,1,0)) as Junio,;
sum(iif(MES=7,1,0)) as Julio,;
sum(iif(MES=8,1,0)) as agosto,;
sum(iif(MES=9,1,0)) as Setiembre,;
sum(iif(MES=10,1,0)) as Octubre,;
sum(iif(MES=11,1,0)) as Noviembre,;
sum(iif(MES=12,1,0)) as Diciembre;
FROM xx ;
GROUP BY nom_tarjetas;
into cursor fin
brow

2 respuestas

Respuesta
1

select *, ;
sum(iif(MES=1,1,0)) as Enero,;
sum(iif(MES=2,1,0)) as Febrero,;
sum(iif(MES=3,1,0)) as Marzo,;
sum(iif(MES=4,1,0)) as Abril,;
Sum(1) as Total
From tabla

Prueba de esta manera, te funcionara mejor.

Hola gracias por responder pero con este código solo mostraría todos mis campos la idea seria agrupar todas las tarjetas y sumar el total de ventas por tarjeta y mostrarlo por meses

Bien entonces debes hacer el select agrupado por código de la tarjeta de credito

select código,sum(cantidad)*precio from ventas_detalle where _mes=vtas_mes into cursor Tabla group by código,mes

Respuesta
1

¿Estos datos los vas a mostrar en un reporte o algo parecido?

Hola gracias por responder, si lo voy a presentar en un reporte..

Aquí te dejo un pequeño ejemplo...

Espero te sirva.

http://www.mediafire.com/?b0prouoouilr3ea

Saludos. cualquier duda estoy para ayudar...

Hola gracias por el link, aunque me sale un error cuando ejecuto el programa debe ser porque utilizo vfp 5.0

olvide enviar la linea de error es justo en los meses y años en el init de los combos

FOR x0z=1 TO 12
This.AddItem(TRANSFORM(x0z)+' - '+CMONTH(DATE(2011,x0z,1)))
ENDFOR
this.ListIndex=MONTH(DATE())

Así es amigo, es porque utilizas VFP 5... De el 8 e incluso creo que de el 7 en adelante funciona bien la función.. prueba colocando este código donde esta el anterior:

_mes=''
FOR x0z=1 TO 12
DO CASE
CASE x0z=1
_mes="Enero"
CASE x0z=2
_mes="Febrero"
CASE x0z=3
_mes="Marzo"
CASE x0z=4
_mes="Abril"
CASE x0z=5
_mes="Mayo"
CASE x0z=6
_mes="Junio"
CASE x0z=7
_mes="Julio"
CASE x0z=8
_mes="Agosto"
CASE x0z=9
_mes="Septiembre"
CASE x0z=10
_mes="Octubre"
CASE x0z=11
_mes="Noviembre"
CASE x0z=12
_mes="Diciembre"
ENDCASE
This.AddItem(TRANSFORM(x0z)+' - '+_mes)
ENDFOR
this.ListIndex=MONTH(DATE())

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas