Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/05/2012, 07:20
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 18 años, 2 meses
Puntos: 447
Respuesta: Resultado consulta de dos tablas

Hola ari2006:

Tal como menciona quimfv hay otras maneras de obtener el mismo resultado. Aquí está otra forma, utilizando sólo un LEFT JOIN y sin hacer ninguna subconsulta.

Código MySQL:
Ver original
  1. mysql> SELECT * FROM tablaA;
  2. +------+-------------+
  3. | id   | campo_texto |
  4. +------+-------------+
  5. |    1 | Texto aaaa  |
  6. |    2 | Texto bbbb  |
  7. |    3 | Texto cccc  |
  8. |    4 | Texto dddd  |
  9. |    5 | Texto eeee  |
  10. +------+-------------+
  11. 5 rows in set (0.00 sec)
  12.  
  13. mysql> SELECT * FROM tablaB;
  14. +------+------------+------------+
  15. | id   | id_tabla_A | id_usuario |
  16. +------+------------+------------+
  17. |    1 |          2 |          1 |
  18. |    2 |          3 |          1 |
  19. |    3 |          4 |          2 |
  20. |    4 |          2 |          3 |
  21. |    5 |          3 |          3 |
  22. |    6 |          5 |          1 |
  23. +------+------------+------------+
  24. 6 rows in set (0.00 sec)
  25.  
  26. mysql> SELECT tablaA.id, tablaA.campo_texto,
  27.     -> IF(tablaB.id IS NULL, 'false', 'true') postulado
  28.     -> FROM tablaA
  29.     -> LEFT JOIN tablaB ON TablaA.id = tablaB.id_tabla_a
  30.     -> AND tablaB.id_usuario = 3;
  31. +------+-------------+-----------+
  32. | id   | campo_texto | postulado |
  33. +------+-------------+-----------+
  34. |    1 | Texto aaaa  | false     |
  35. |    2 | Texto bbbb  | true      |
  36. |    3 | Texto cccc  | true      |
  37. |    4 | Texto dddd  | false     |
  38. |    5 | Texto eeee  | false     |
  39. +------+-------------+-----------+
  40. 5 rows in set (0.00 sec)

Saludos
Leo.