Ver Mensaje Individual
  #11  
Antiguo 09-06-2007
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
Bueno chicos, discrepo un poco de lo dicho anteriormente.

ACotemos. A no ser que sea un caso excepcional, los humanos funcionamos por años. Esto quiere decir que los datos devueltos por la consulta serán máximo 32 filas ( titulo y dias del mes ) y 12 columnas ( meses del año).

Podemos no volvernos locos y utilizar una string-grid.

Si queremos hacer una consulta que devuelva todo a la primera y esperando no colarme, debo suponer que sólo puede haber un registro por día, sino no tendría sentido.
Y una vez dicho esto, podemos probar con lo siguiente

Código SQL [-]
SELECT 
max(case when funcionmes(fecha)=1 then fecha else null) as Enero,
max(case when funcionmes(fecha)=2 then fecha else null) as Febrero, 
max(case when funcionmes(fecha)=3 then fecha else null) as MArzo,
...
max(case when funcionmes(fecha)=12 then fecha else null) as Diciembre
FROM tabla
WHERE fecha BETWEN 1/1/Año and 31/12/año
GROUP BY funciondia( fecha )

Bueno, antes de enviar el mensaje he intentado probar en firebird y no hay 'pelotas' para encontrar las funciones mes y dia de una fecha.

En otros motores entiendo que no debiera haber ningún problema adecuandolos un poco.

Saludos a todos

A ver si alguine se anima y los puede probar en diferentes motores.
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -

Última edición por fjcg02 fecha: 09-06-2007 a las 00:22:22.
Responder Con Cita