elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Ayuda Inner Join 3 tablas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda Inner Join 3 tablas  (Leído 4,062 veces)
mashiro

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Ayuda Inner Join 3 tablas
« en: 20 Junio 2017, 21:43 pm »

tengo un problema al unir 3 tablas con llaves foraneas si me pueden ayudar muchas gracias

historia
id_historia:llave identificadora de esta tabla
id_cerdo: foranea
id_estado:foranea
fecha
observacion

en esta tabla que se llama historia debo de traer los valores de id_cerdo y id_estado

espero su colaboracion gracias . y si me pueden explicar seria de gran ayuda  :(


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Ayuda Inner Join 3 tablas
« Respuesta #1 en: 23 Junio 2017, 16:53 pm »

Lo mismo que si fuera unir solo 1 tabla más. Pones un Join con su On por cada nueva tabla.
Y ya está. Luego trabajar con los datos de las tablas como quieras.

Código
  1. SELECT a.nombre, b.nombre, c.nombre
  2. FROM tabla1 AS a
  3. INNER JOIN tabla2 AS b
  4.   ON a.idTabla2 = b.id
  5. INNER JOIN tabla3 AS c
  6.   ON a.idTabla3 = c.id


En línea

crisoof

Desconectado Desconectado

Mensajes: 48


Ver Perfil
Re: Ayuda Inner Join 3 tablas
« Respuesta #2 en: 30 Agosto 2017, 16:01 pm »

igual lo puedes hacer de esta manera:
Código
  1. SELECT a.nombre, b.nombre, c.nombre
  2. FROM tabla1  a ,tabla2 b, tabla3  c
  3. WHERE a.idTabla2 = b.id
  4. AND a.idTabla3 = c.id
  5.  

tienes que unir las tablas haciendo match entre si por algún valor que sea común entre ellas.

Saludos
En línea

rubentexas

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Ayuda Inner Join 3 tablas
« Respuesta #3 en: 13 Septiembre 2017, 23:57 pm »

Aunque el resultado puede ser el mismo, utiliza la respuesta de ivancea96

El plan de ejecucion cuando la tabla crezca sera mucho mejor.

Preferi SIEMPRE JOIN sobre cruce cartesiando (dejando el segundo para casos muy exclusivos)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Join entre tres tablas?
Bases de Datos
javirk 1 4,095 Último mensaje 12 Febrero 2012, 15:01 pm
por ‭lipman
como puedo relacionar 3 tablas en mysql con inner join
Bases de Datos
kary2013 2 45,472 Último mensaje 26 Febrero 2013, 18:29 pm
por 1mpuls0
insertar datos de diferentes tablas con left join
Bases de Datos
gAb1 2 4,000 Último mensaje 31 Julio 2015, 20:55 pm
por fran800m
MySQL Join con 2 tablas
Java
jairoo15 0 2,339 Último mensaje 11 Mayo 2017, 19:41 pm
por jairoo15
Inner Join 3 tablas
Bases de Datos
mashiro 2 4,104 Último mensaje 14 Septiembre 2017, 00:10 am
por AlbertoBSD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines