Muchas veces es necesario realizar consultas entre 3 o mas tablas, esto se le conoce como Consultas Complejas En MySQL. Son complejas por el tipo de relaciones que unen el numero de tablas, no por su dificultad 😉 Para tal finalidad se usa la clausula , pero muchas veces es difícil adaptarse al concepto desde un principio, pero en lugar de usar esta clausula podemos usar la clausula Where y concatenar las tablas con el operador lógico AND.
Para tal ejemplo nos guiaremos del modelo físico de la base de datos, ya que asi sera mucho mas facil de saber los campos de las llaves primareas y foraneas, las cuales nos interesan para realizar este tipo de consultas 🙂
Como se puede apreciar en la anterior imagen se ve que hay 7 tablas, pero de las se usaran 4 para el ejemplo; lo que se pretende hacer, es mostrar las asignaturas matriculadas por un determinado estudiante, luego usaremos 5 tablas en la cual se mostrara no solo las materias de un solo estudiante, sino también las notas de esas asignaturas, interesante no?
Te invito a ver mi primera Video Guia, espero te sea de gran utilidad 😀
Hola Julian, este mismo video podrias realizarlo con join para entederlo bien
Hola, en este caso estoy trabajando con 4 tablas con registros que superan los 100 000 cada una; para este caso se realiza sub consultas a otras 3 tablas, en este caso cual seria la recomendaciones para generar un tiempo de consulta mejor a lo esperado (3 minutos aprox por la consulta mencionada).
Hola, gracias por el tutorial, mira tengo un problema que me está costando resolver y pienso que es mas por la normalización de mi BD que por parte de PHP, tengo una tabla intermedia para relacionar IDs de mas de tres tablas.
por ahora solo estoy enfocado en conseguir lo siguente:
una lista de ÁREAS DE PROCESO de una empresa de acuerdo a un filtro llamado KOVS que vienen hacer características de calidad de cada área, por lo tanto un área puede tener mas de un KOV. el requerimiento es el siguiente, desean que muestre todas las areas de proceso en filas pero con el detalle que aquellas que forman parte del KOV se pinten( el TD background) de un color y aquellas que no de otro color, con esto entonces obtendré por cada kov todas las áreas de proceso aquellas que influyen en el de un color y los demás de otro color. algo así
azul:influyen
gris no influye
area a( color azul) –> area b(color azul)—> area c(color gris)
para esto yo tengo en una tabla los ids de los kov y id de área de proceso, pero solo quiero que por cada KOV me salga por única vez un área, no se como pueda hacer esa distinción de color.
tengo dos tablas t1(falla) allí están contenidos dos campos camp1 Desde, camp2 hasta, los dos contienen cod_Apoyo del la t2(apoyos) esta tabla contiene Cod_Apoyo y Nombre apoyo etc.
necesito hacer una consulta y traer de la tabla apoyo en nombre
hago esto
«Inner join apoyo
on falla.Cod_Apoyo_Desde and falla.Cod_Apoyo_Hasta = apoyo.Cod_Apoyo»
y solo me trae el nombre de asociado a Cod_Apoyo_Hasta es decir el ultimo de los dos
por favor ayuda lo antes posible
Gracias gracias….
cuales serian 3 ejemplos para una consulta
hola amigo necesito de tu ayuda igual estudio ing sistemas me dejaron hacer una pratica de usuario servidor pero no se como me podrias ayudar porfa gracias
Claro amigo, en lo que te pueda orientar.