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

unir 3 tablas en una consulta sql no se como se hace

Estas en el tema de unir 3 tablas en una consulta sql no se como se hace en el foro de Mysql en Foros del Web. hola amigos he buscado por el foro no he encontrado exactamente la forma de como unir 3 tablas algunos dicen q con un join pero ...
  #1 (permalink)  
Antiguo 08/08/2010, 18:31
 
Fecha de Ingreso: abril-2010
Mensajes: 182
Antigüedad: 14 años, 7 meses
Puntos: 8
unir 3 tablas en una consulta sql no se como se hace



hola amigos he buscado por el foro no he encontrado exactamente la forma de como unir 3 tablas algunos dicen q con un join pero he visto q hay varios tipos de join left, join full, INNER JOIN entre otros pues no se como seria su sintaxis.

como podría hacer la union adecuada para que me muestre los datos del anuncio, los datos del afilio o dueño del anuncio y los comentario del anuncios si los tiene.

gracias espero haber sido especifico


mi idea es un sistema de comentario sencillo, tengo 3 tablas



afiliados
-id_afiliado

anuncios
-id_anuncio
-id_afiliado

comentarios
-id_comentario
-id_anuncio
-id_afiliado
-comentario (obvio XD)


estare por aca XD
  #2 (permalink)  
Antiguo 08/08/2010, 18:36
Usuario no validado
 
Fecha de Ingreso: junio-2010
Ubicación: Guatemala
Mensajes: 196
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: unir 3 tablas en una consulta sql no se como se hace

Cita:
... entre otros pues no se como seria su sintaxis.
Saludos, puedes visitar el sitio de W3Schools:
http://www.w3schools.com/Sql/sql_join.asp
http://www.w3schools.com/Sql/sql_join_inner.asp
http://www.w3schools.com/Sql/sql_join_left.asp
http://www.w3schools.com/Sql/sql_join_right.asp
  #3 (permalink)  
Antiguo 08/08/2010, 18:41
 
Fecha de Ingreso: abril-2010
Mensajes: 182
Antigüedad: 14 años, 7 meses
Puntos: 8
Respuesta: unir 3 tablas en una consulta sql no se como se hace

gracias amigo y cual seria el adecuado?? para esta tareaaa?
  #4 (permalink)  
Antiguo 08/08/2010, 22:58
Usuario no validado
 
Fecha de Ingreso: junio-2010
Ubicación: Guatemala
Mensajes: 196
Antigüedad: 14 años, 5 meses
Puntos: 25
Respuesta: unir 3 tablas en una consulta sql no se como se hace

inner join :D
  #5 (permalink)  
Antiguo 09/08/2010, 07:00
 
Fecha de Ingreso: abril-2010
Mensajes: 182
Antigüedad: 14 años, 7 meses
Puntos: 8
Respuesta: unir 3 tablas en una consulta sql no se como se hace

como podria acomodar el inner join para unir las 3 tablas???
  #6 (permalink)  
Antiguo 09/08/2010, 08:12
Avatar de juankcres  
Fecha de Ingreso: septiembre-2009
Mensajes: 88
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: unir 3 tablas en una consulta sql no se como se hace

Código SQL:
Ver original
  1. SELECT *
  2. FROM anuncios AS an
  3. INNER JOIN  afiliados AS af ON ( an.id_afiliado = af. id_afiliado )
  4. INNER JOIN comentarios AS co ON ( an.id_afiliado= co.id_afiliado AND co.id_anuncio= an.id_anuncio )
  5.  
  6. /* Las Condiciones que necesites

Espero que te sirva
__________________
Sé fiel hasta la muerte, y yo te daré la corona de la vida.

Ap. 2:10
  #7 (permalink)  
Antiguo 09/08/2010, 08:36
 
Fecha de Ingreso: abril-2010
Mensajes: 182
Antigüedad: 14 años, 7 meses
Puntos: 8
Respuesta: unir 3 tablas en una consulta sql no se como se hace

juankcres gracias me sirve qdo bien gracias. mira como qdo
Código PHP:
Ver original
  1. SELECT *
  2. FROM anuncios AS anu LEFT JOIN comentario AS com ON anu.id_anuncio = com.co_id_anuncio LEFT JOIN afiliados AS afi ON anu.id_afiliado = afi.id_afiliado
  3. WHERE anu.name= colname
  #8 (permalink)  
Antiguo 09/08/2010, 10:20
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: unir 3 tablas en una consulta sql no se como se hace

SELECT *
FROM anuncios anu LEFT JOIN comentario AS com ON anu.id_anuncio = com.co_id_anuncio INNER JOIN afiliados afi ON anu.id_afiliado = afi.id_afiliado
WHERE anu.name= colname

Entiendo que uses LEFT JOIN en la primera unión, porque tal vez algún anuncio no tenga comentario y quieras ver el anuncio. Si no quieres ver anuncios que no tengan comentario, deberías usar

SELECT *
FROM anuncios anu INNER JOIN comentario AS com ON anu.id_anuncio = com.co_id_anuncio INNER JOIN afiliados afi ON anu.id_afiliado = afi.id_afiliado
WHERE anu.name= colname

Será más rápido

Etiquetas: sql, tablas, unir
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

SíEste tema le ha gustado a 1 personas




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