FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Como Agrupar por Meses????
Tengo la siguiente sentencia SQL para Agrupar las Ventas por Meses dandole un rango de fechas:
El problema que tengo es que si le doy un rango de fecha de más de 1 mes como en el ejemplo que pongo que es un rango de 2 meses, no me dan los TOTALES correctos Resultado: TOTAL F_MONTH 1200 1 400 2 Mandando un Rango de Fecha de 1 mes Ej. del '01.01.2003' al '31.01.2003' El Resultado CORRECTO : TOTAL F_MONTH 950 1 Por lo que me obliga hacer UNIONES por MES pero es lo que no quiero hacer, sólo quiero que UNA Sola consulta me devuelva los Concentrados de Ventas por meses pasandole el Rango de Fechas, si bien se muestra en la Sentencia SQL tengo una UDF f_month que me devuelve el Número de MES de la Fecha. Agradezco cualquier sugerencia. Por último edite 2 veces este Hilo para identar el código pero me lo desordena cuando lo GUARDO.... Última edición por AGAG4 fecha: 31-12-2005 a las 02:53:18. |
#2
|
||||
|
||||
Francamente no entiendo muy bien cual es tu lógica para agrupar por meses, pero a mi me parece mas sencillo algo como:
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
||||
|
||||
Ok
Gracias Juan Antonio voy a probarlo.....
Saludos.... |
#4
|
||||
|
||||
ok
Que es lo que no entiende de la consulta????
Solo quiero que me despliege los datos como en el ejemplo siguiente: TOTAL MES 950 1 1050 2 850 3 650 4 750 5 2950 6 El Problema que tengo como ya lo explique anteriormente es que no me da el TOTAL CORRECTO si le mando un rango de Fechas de màs de 2 meses, pero si le doy solo 1 MES el TOTAL es CORRECTO, a como lo explica usted tambièn me da el mismo ORDEN pero con los TOTALES Incorrectos, es decir si yo voy comparando Mes por Mes en la consulta por ejemplo del 01/01/2003 al 31/01/2003 ò 01/02/2003 al 28/02/2003 asi si me muestra los TOTALES correctos. Lo màs seguro que en el segundo SELECT sea el del problema, a lo mejor ocupo mandarle como parametro la fecha del primer SELECT.... Gracias por su ayuda. Feliz Año 2006 Saludos.... |
#5
|
||||
|
||||
Pues sigo sin entender la lógica del segundo select... por que no mejor contas que es lo que queres conseguir?
Saludos.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#6
|
||||
|
||||
Ok
En el primero Select hago la suma de las facturas que desglosan IVA, y en el segundo select SUMO las Facturas de CONTADO que no Desglosan IVA es por eso que hago la resta IMPORFAC-IVADOC, es decir al hacer una factura de contado el
IMPORFAC = SUBTOTAL+IVA y cuando no se desglosa el IVA IMPORFAC = SUBTOTAL Por este motivo uso el segundo select. Espero me haya explicado, sin o me explique hagamelo saber para dar otro ejemplo. Feliz Año 2006. |
#7
|
||||
|
||||
Hola, mira si te sirve esto:
Código:
select case desglodoc when 1 coalesce(sum(imporfac-ivadoc),0) else coalesce(sum(imporfac),0) end as total,f_month(FECHAFAC) from facturas where tipomov='FM' and fechafac >='01.01.2003' and fechafac <='28.02.2003' and (tasaiva=1 or tasaiva=3 or ivadoc>0) group by f_month(FECHAFAC) order by f_month(FECHAFAC) Jorge. |
|
|
|