tengo una tabla "facturas", en la cual almaceno varios tipos diferentes de facturas (campo id_tipo_factura) y quiero sumar el importe de cada tipo por separado.
Hasta ahora hago lo siguiente:
Código:
Bien, esta consulta funciona pero es demasiado lenta sobre mi base de datos (0.5 sec).SELECT SUM( f1.total_factura ) AS total_pedidos, SUM( f2.total_factura) AS total_generales, SUM( f3.total_factura) AS total_emitidas FROM `facturas` AS f1, `facturas` AS f2, `facturas` AS f3 WHERE f1.id_tipo_factura=2 AND f2.id_tipo_factura=3 AND f3.id_tipo_factura=1 AND YEAR(f1.fecha)='2008' AND YEAR(f2.fecha)='2008' AND YEAR(f3.fecha)='2008'
Habia pensado hacer algo así para hacerla mas ràpida:
Código:
Evidentemente no devuelve los mismos resultados, luego no funciona correctamente.SELECT SUM(total_factura) FROM facturas WHERE YEAR(fecha)='2008' GROUP BY id_tipo_factura
Alguien ve una solución?