Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/11/2012, 09:22
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Al hacer LEFT JOIN se me Altera el SUM

Hola verdolaga1989:

Cuando sumas un NULL a cualquier número el resultado es NULL:

Código MySQL:
Ver original
  1. mysql> SELECT 10 + NULL;
  2. +-----------+
  3. | 10 + NULL |
  4. +-----------+
  5. |      NULL |
  6. +-----------+
  7. 1 row in set (0.01 sec)

en tu correo no especificas cuál es la estructura de tus tablas, pero supongo que el campo VALOR corresponde a tu tabla tblpagosxfactura ... al poner un LEFT JOIN es posible que estés arrojando registros NULL. Puedes probar así:

Código:
SELECT *SUM(Total) Total, c.Nombre, SUM(IFNULL(Valor, 0)) Pagado
FROM tblfactura f
INNER JOIN tblcliente c ON c.IdCliente=f.IdCliente
LEFT JOIN tblpagosxfactura pxf ON pxf.NroFactura=f.NroFactura
GROUP BY f.IdCliente
Lo único que haces es sumar un CERO en lugar de sumar un vacio:

Código MySQL:
Ver original
  1. mysql> SELECT 10 + IFNULL(NULL, 0);
  2. +----------------------+
  3. | 10 + IFNULL(NULL, 0) |
  4. +----------------------+
  5. |                   10 |
  6. +----------------------+
  7. 1 row in set (0.03 sec)

Saludos
Leo.