Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/12/2010, 08:44
wilmer30
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 3 meses
Puntos: 12
consulta con tres tablas

Hola, gracias a todos los foristas que ayudan a aquellos que inician Mysql en especial a gnzsoloyo. Tengo un problema con tres tablas: ss_objetive, ss_tareas y ss_seg.

Hago LEFT JOIN con ss_tareas y ss_seg, tengo este resultado:
Código MySQL:
Ver original
  1. mysql>  SELECT
  2.            o4.id IDoper,t.id IDtareas, IFNULL(s.value,0) Valor,s.fecha fecha
  3.     FROM ss_objetive o4
  4.            LEFT JOIN ss_tareas t ON t.idopera = o4.id
  5.        LEFT JOIN ss_seg s ON s.idtarea = t.id
  6.         WHERE o4.idges = 3 AND o4.tipo = 4 AND o4.idare = 65;
  7. +--------+----------+-------+------------+
  8. | IDoper | IDtareas | Valor | fecha      |
  9. +--------+----------+-------+------------+
  10. |    760 |       55 |    20 | 2010-12-06 |
  11. |    760 |       55 |    10 | 2010-09-14 |
  12. |    760 |       56 |    54 | 2010-12-06 |
  13. |    761 |       59 |    90 | 2010-12-06 |
  14. |    761 |       60 |    80 | 2010-12-06 |
  15. |    761 |       61 |    70 | 2010-08-04 |
  16. |    761 |       61 |    70 | 2010-12-06 |
  17. |    762 | NULL     |     0 | NULL       |
  18. |    763 |       62 |    15 | 2010-12-06 |
  19. |    764 |       63 |    67 | 2010-12-06 |
  20. |    764 |       64 |     8 | 2010-12-06 |
  21. |    765 |       65 |    80 | 2010-12-06 |
  22. |    766 | NULL     |     0 | NULL       |
  23. |    767 | NULL     |     0 | NULL       |
  24. |    768 |       71 |    50 | 2010-12-06 |
  25. |    768 |       72 |    80 | 2010-12-06 |
  26. |    769 | NULL     |     0 | NULL       |
  27. |    770 | NULL     |     0 | NULL       |
  28. |    771 |       70 |    30 | 2010-12-06 |
  29. |    772 |       57 |    50 | 2010-12-06 |
  30. |    772 |       58 |     0 | 2010-12-06 |
  31. |    772 |       58 |    50 | 2010-12-06 |
  32. +--------+----------+-------+------------+
  33. 22 rows in set
Todo bien hasta aqui, ahora necesito extraer solo un registro (de la columna Valor) de la tabla ss_seg que sea de la última fecha, aquel que no este en la tabla ss_seg me devuelve NULL pero yo modifico tal columna a 0 (puesto que significaria que no tiene avance), mi gran problema está en que si uso GROUP BY me elimina los NULL y yo necesito que se mantenga los NULL que para mi es cero.

Cuál sería mi consulta par mantener los NULL?