Ver Mensaje Individual
  #8  
Antiguo 17-12-2011
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Reputación: 22
fjcg02 Va camino a la fama
Has probado a hacer esta prueba ??
No sé si es una burrada, pero igual funciona.

month(talones.fecha)=1 and year(talones.fecha)=year(fecha) ... as enero -->> año actual
month(talones.fecha)=1 and year(talones.fecha)-1=year(fecha)-1 as enero_año_anterior -->> año anterior

con esto consigues tener en una fila añoactual y anterior, aunque tengo la duda de que trage o cruja con el group by.

Dices que el código que pones es un poco 'guarrete'. No pienso lo mismo. Es largo, un poco indigesto, pero creo que a nivel de rendimiento es el más eficiente.

Por otro lado, he visto en algún sistema, utilizar una tabla auxiliar de tiempo, con una estructura similar a la que pongo, para utilizarla como pivote para calculos temporales.

- fecha
- año
- dia
- mes
- dia semana
- semana
- trimestre

Cruzando tus datos con ésta, puedes crear el campo que necesites para pivotar, totalizando por el campo que quieras ( año, día, mes, semana, trimestre, ... ). Combinado con unos filtros convenientes, consigues resultados bastante buenos.

Espero que te sirva de ayuda.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita