Ver Mensaje Individual
  #8 (permalink)  
Antiguo 24/05/2011, 09:12
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: consultilla...

Es que no pusiste el IS NULL:
Código MySQL:
Ver original
  1. mysql> USE TEST;
  2. Database changed
  3. mysql> DROP TABLE IF EXISTS tabla1, tabla2;
  4. Query OK, 0 rows affected (0.12 sec)
  5.  
  6. mysql> CREATE TABLE tabla1
  7.     ->   (id INT,
  8.     ->   empresa VARCHAR(200));
  9. Query OK, 0 rows affected (0.04 sec)
  10.  
  11. mysql> CREATE TABLE tabla2(
  12.     ->   id INT,
  13.     ->   facturacion INT, ejercicio SMALLINT);
  14. Query OK, 0 rows affected (0.01 sec)
  15.  
  16. mysql> INSERT INTO tabla1
  17.     -> VALUES(1, 'Telefonica'), (2, 'Carrefour'), (3, 'Prisa');
  18. Query OK, 3 rows affected (0.00 sec)
  19. Records: 3  Duplicates: 0  Warnings: 0
  20.  
  21. mysql> INSERT INTO tabla2
  22.     -> VALUES(1, 150, 2008), (1,225,2009),(3,75,2009);
  23. Query OK, 3 rows affected (0.00 sec)
  24. Records: 3  Duplicates: 0  Warnings: 0
  25.  
  26. mysql> SELECT empresa, IFNULL(SUM(facturacion), 0) Facturacion
  27.     -> FROM tabla1 T1 LEFT JOIN tabla2 T2 ON T1.id = T2.id
  28.     -> WHERE T2.ejercicio = 2009 OR T2.ejercicio IS NULL
  29.     -> GROUP BY T1.id;
  30. +------------+-------------+
  31. | empresa    | Facturacion |
  32. +------------+-------------+
  33. | Telefonica |         225 |
  34. | Carrefour  |           0 |
  35. | Prisa      |          75 |
  36. +------------+-------------+
  37. 3 rows in set (0.00 sec)
Lo que yo dije era que no estaba seguro, no que no debía ir (no lo había probado).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)