Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Select uniendo tablas

Estas en el tema de Select uniendo tablas en el foro de Mysql en Foros del Web. Hola, Tengo dos tablas de este tipo -autores id_autor nombre_autor -noticias id_noticia id_autor titulo Lo que quiero es que al realizar un select, en vez ...
  #1 (permalink)  
Antiguo 16/06/2011, 17:54
Avatar de latinpower  
Fecha de Ingreso: septiembre-2010
Ubicación: Canelones
Mensajes: 116
Antigüedad: 13 años, 7 meses
Puntos: 10
Select uniendo tablas

Hola,

Tengo dos tablas de este tipo

-autores
id_autor
nombre_autor

-noticias
id_noticia
id_autor
titulo

Lo que quiero es que al realizar un select, en vez de mostrarme una tabla con la columna, id_autor, me muestre el nombre_autor correspondiente

Probe con inner join, left join y right join pero me parece que no entendí bien la cosa, con inner y left me mostraba valores null(cuando no debería) y con el inner join me mostraba todas las columnas de noticias más el nombre correspondiente al id autor.

Lo que me faltaría en el último caso es especificar las columas que quiero de la tabla noticias

Ahi está como tengo la sintaxis del útimo caso:

Código MySQL:
Ver original
  1. select * from noticias inner join autores on noticias.id_autor = autores.id_autor
  #2 (permalink)  
Antiguo 16/06/2011, 21:22
Avatar de ezefarina  
Fecha de Ingreso: junio-2009
Mensajes: 91
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Select uniendo tablas

Se haría así. Es una de las tantas maneras

Código:
SELECT a.nombre_autor, n.titulo
FROM autores a
LEFT JOIN noticias n ON (a.id_autor=n.id_autor);
En el código que pusiste, en tu lugar especificaría los campos a mostrar en la query de esta manera

Código:
SELECT autores.*, noticias.* FROM noticias INNER JOIN autores on noticias.id_autor = autores.id_autor
Slds

Etiquetas: select, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:46.