Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/04/2013, 15:27
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Problema con consulta SUM

Tu problema es con los join, que deben ser INNER JOIN. No obstante, los he quitado para que lo pruebes. Creo que verás que los resultados son correctos. Si tienes que unir con la tabla clientes y la de asociados, hazlo mediante INNER JOIN y no mediante JOIN.
Prueba y nos dices.
Código MySQL:
Ver original
  1.     SUM(CASE WHEN MONTH( f.fecha ) = 1 AND f.status = 'Pagada' THEN totalFactura ELSE '0' END) Enero,
  2.     SUM(CASE WHEN MONTH( f.fecha ) = 2 AND f.status = 'Pagada' THEN totalFactura ELSE 0 END) Febrero,
  3.     SUM(CASE WHEN MONTH( f.fecha ) = 3 AND f.status = 'Pagada' THEN totalFactura ELSE 0 END) Marzo,
  4.     SUM(CASE WHEN MONTH( f.fecha ) = 4 AND f.status = 'Pagada' THEN totalFactura ELSE 0 END) Abril,
  5.     SUM(CASE WHEN MONTH( f.fecha ) = 5 AND f.status = 'Pagada' THEN totalFactura ELSE 0 END) Mayo,
  6.     SUM(CASE WHEN MONTH( f.fecha ) = 6 AND f.status = 'Pagada' THEN totalFactura ELSE 0 END) Junio,
  7.     SUM(CASE WHEN MONTH( f.fecha ) = 7 AND f.status = 'Pagada' THEN totalFactura ELSE 0 END) Julio,
  8.     SUM(CASE WHEN MONTH( f.fecha ) = 8 AND f.status = 'Pagada' THEN totalFactura ELSE 0 END) Agosto,
  9.     SUM(CASE WHEN MONTH( f.fecha ) = 9 AND f.status = 'Pagada' THEN totalFactura ELSE 0 END) Septiembre,
  10.     SUM(CASE WHEN MONTH( f.fecha ) = 10 AND f.status = 'Pagada' THEN totalFactura ELSE 0 END) Octubre,
  11.     SUM(CASE WHEN MONTH( f.fecha ) = 11 AND f.status = 'Pagada' THEN totalFactura ELSE 0 END) Noviembre,
  12.     SUM(CASE WHEN MONTH( f.fecha ) = 12 AND f.status = 'Pagada' THEN totalFactura ELSE 0 END) Diciembre,
  13.     YEAR( f.fecha) anio
  14.     FROM factura AS f
  15.     WHERE f.fecha BETWEEN '2013/01/01' AND '2013/04/24' AND f.clienteID = 275 GROUP BY YEAR( f.fecha )