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


 


Tema destacado: Píldoras formativas en seguridad de la información


+  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 897 veces)
mashiro

Desconectado Desconectado

Mensajes: 2


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

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.295


ASMático


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

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: 39


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

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 »

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
Consulta en sql entre tres tablas (uso inner join ,outer join pero no me sale..)
Programación General
marvic 1 22,617 Último mensaje 22 Febrero 2009, 08:10
por ^Tifa^
¿Join entre tres tablas?
Bases de Datos
javirk 1 2,444 Último mensaje 12 Febrero 2012, 15:01
por ‭lipman
como puedo relacionar 3 tablas en mysql con inner join
Bases de Datos
kary2013 2 30,042 Último mensaje 26 Febrero 2013, 18:29
por 1mpuls0
MySQL Join con 2 tablas
Java
jairoo15 0 450 Último mensaje 11 Mayo 2017, 19:41
por jairoo15
Inner Join 3 tablas
Bases de Datos
mashiro 2 912 Último mensaje 14 Septiembre 2017, 00:10
por AlbertoBSD
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines