Tema: Subconsultas
Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/05/2011, 08:04
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Subconsultas

Hola de nuevo marcelo:

Mi comentario tampoco fue en mala onda, pero realmente me parece un poco extraña tu pregunta. Las consultas con el IFNULL y sin el NO SON IGUALES, observa bien el primer registro de la lista.

Sin IFNULL

Código SQL:
Ver original
  1. mysql> SELECT id, total, cuota,
  2.     -> (SELECT SUM(total) FROM pagos T2
  3.     -> WHERE T2.id < T1.id) calculado
  4.     -> FROM pagos T1;
  5. +-----+-------+-------+-----------+
  6. | id  | total | cuota | calculado |
  7. +-----+-------+-------+-----------+
  8. |  21 | 50.00 |     1 |      NULL |
  9. ...

Con el IFNULL

Código MySQL:
Ver original
  1. mysql> SELECT id, total, cuota,
  2.     -> ifnull((SELECT sum(total) FROM pagos T2
  3.     -> WHERE T2.id < T1.id), 0) calculado
  4.     -> FROM pagos T1;
  5. +-----+-------+-------+-----------+
  6. | id  | total | cuota | calculado |
  7. +-----+-------+-------+-----------+
  8. |  21 | 50.00 |     1 |      0.00 |
  9. ...

Parece ser que no estás al tanto de para qué funciona la función IFNULL, y es justamente para evitar que aparezcan resultados nulos en la consulta. En este caso, en lugar de NULL lo reemplaza con un 0.00. Checa esta liga para leer un poco más acerca de esta función.


12.2. Funciones de control de flujo


Saludos
Leo.