Ver Mensaje Individual
  #7 (permalink)  
Antiguo 21/02/2011, 02:06
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 11 meses
Puntos: 574
Respuesta: Ayuda con consulta

Primero yo pondria un campo fecha_factura, este concepto seguro que existe, hace muchos años que termine economicas pero no creo que se haya suprimido.

Si tienes un campo fecha_factura con formato DATE te permitirà trabajar con las partes de la fecha como te decia en los post anteriores Year() y Month() de ellos puedes sacar los periodos y tendrás solucionado el tema de ordenarlos (en la ordenación por el literal Agosto va por delante de Enero!!!).

Finalmente sql no te dará el formato que quieres para la tabla HTML debes construirlo con la programación externa que estes usando php, asp o el que sea.


//Obtengo los periodos
SELECT DISTINCT YEAR(fecha_factura),MONTH(fecha_factura) FROM facturas ORDER BY YEAR(fecha_factura),MONTH(fecha_factura)

//Obtengo las facturas
Select * from tablafacturas order by year(fecha_factura),month(fecha_factura)

Una vez tienes los dos resultset es cuestión de combinar un bucle sobre el primero para obtener los periodos y dentro otro bucle condicionado al periodo actual que obtenga las facturas del segundo resultset...

En seudo codigo

Código PHP:
Ver original
  1. For (periodos){
  2.      imprimo periodo
  3.           For (facturas){
  4.                IF(periodos.periodo==facturas.periodo){
  5.                      imprimo factura
  6.                }
  7.           }
  8. }
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.