Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/10/2012, 15:14
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: Consulta MySQL con NULL incluidos

Hola Perr0:

Por un lado tienes un error en la condición ON, ya que las tablas AREAS y ASIGNACIONES no están ligadas por el campo ID_PERSONA, sino por el campo ID_AREA

Prueba así:

Código MySQL:
Ver original
  1. mysql> SELECT * FROM areas;
  2. +------+------------+
  3. | ID   | AREA       |
  4. +------+------------+
  5. |    1 | AUTOS      |
  6. |    2 | CAMIONETAS |
  7. |    3 | MOTOS      |
  8. +------+------------+
  9. 3 rows in set (0.00 sec)
  10.  
  11. mysql> SELECT * FROM asignaciones;
  12. +------+------------+---------+
  13. | ID   | ID_PERSONA | ID_AREA |
  14. +------+------------+---------+
  15. |    1 |          1 |       1 |
  16. |    2 |          2 |       1 |
  17. |    3 |          2 |       2 |
  18. +------+------------+---------+
  19. 3 rows in set (0.00 sec)
  20.  
  21. mysql> SELECT *
  22.     -> FROM areas a
  23.     -> LEFT JOIN asignaciones b
  24.     -> ON a.ID = b.ID_AREA AND b.ID_PERSONA = 2;
  25. +------+------------+------+------------+---------+
  26. | ID   | AREA       | ID   | ID_PERSONA | ID_AREA |
  27. +------+------------+------+------------+---------+
  28. |    1 | AUTOS      |    2 |          2 |       1 |
  29. |    2 | CAMIONETAS |    3 |          2 |       2 |
  30. |    3 | MOTOS      | NULL |       NULL |    NULL |
  31. +------+------------+------+------------+---------+
  32. 3 rows in set (0.00 sec)

Saludos
Leo.