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 :(
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.
SELECT a.nombre, b.nombre, c.nombre
FROM tabla1 as a
INNER JOIN tabla2 as b
ON a.idTabla2 = b.id
INNER JOIN tabla3 as c
ON a.idTabla3 = c.id
igual lo puedes hacer de esta manera:
SELECT a.nombre, b.nombre, c.nombre
FROM tabla1 a ,tabla2 b, tabla3 c
WHERE a.idTabla2 = b.id
AND a.idTabla3 = c.id
tienes que unir las tablas haciendo match entre si por algún valor que sea común entre ellas.
Saludos
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)