Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/07/2011, 12:29
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Traer nombre de campo de otra tabla

Hola jotaincubus:

La mejor opción es el INNER JOIN, sería más o menos así:

Código MySQL:
Ver original
  1. mysql> create table ciudades (id_ciudad int, nombre_ciudad varchar(20));
  2. Query OK, 0 rows affected (0.09 sec)
  3.  
  4. mysql> insert into ciudades values (1, 'Ciudad de México'),
  5.     -> (2, 'Guadalajara'), (3, 'Monterrey');
  6. Query OK, 3 rows affected (0.02 sec)
  7. Records: 3  Duplicates: 0  Warnings: 0
  8.  
  9. mysql> select * from ciudades;
  10. +-----------+------------------+
  11. | id_ciudad | nombre_ciudad    |
  12. +-----------+------------------+
  13. |         1 | Ciudad de México |
  14. |         2 | Guadalajara      |
  15. |         3 | Monterrey        |
  16. +-----------+------------------+
  17. 3 rows in set (0.02 sec)
  18.  
  19. mysql> create table usuarios (id_usuario int, nombre_usuario varchar(20),
  20.     -> id_ciudad int);
  21. Query OK, 0 rows affected (0.08 sec)
  22.  
  23. mysql> insert into usuarios values (1, 'Usuario 1', 3),
  24.     -> (2, 'Usuario 2', 1), (3, 'Usuario 3', 2);
  25. Query OK, 3 rows affected (0.03 sec)
  26. Records: 3  Duplicates: 0  Warnings: 0
  27.  
  28. mysql> select * from usuarios;
  29. +------------+----------------+-----------+
  30. | id_usuario | nombre_usuario | id_ciudad |
  31. +------------+----------------+-----------+
  32. |          1 | Usuario 1      |         3 |
  33. |          2 | Usuario 2      |         1 |
  34. |          3 | Usuario 3      |         2 |
  35. +------------+----------------+-----------+
  36. 3 rows in set (0.00 sec)
  37.  
  38. mysql> select u.id_usuario, u.nombre_usuario, c.nombre_ciudad
  39.     -> from usuarios u inner join ciudades c
  40.     -> on u.id_ciudad = c.id_ciudad
  41.     -> order by u.id_usuario;
  42. +------------+----------------+------------------+
  43. | id_usuario | nombre_usuario | nombre_ciudad    |
  44. +------------+----------------+------------------+
  45. |          1 | Usuario 1      | Monterrey        |
  46. |          2 | Usuario 2      | Ciudad de México |
  47. |          3 | Usuario 3      | Guadalajara      |
  48. +------------+----------------+------------------+
  49. 3 rows in set (0.05 sec)

Saludos
Leo.