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

Unir 3 tablas

Estas en el tema de Unir 3 tablas en el foro de Mysql en Foros del Web. Hola! Estoy tratando de unir estas 3 tablas, para lograr la vista abajo detallada, pero no consigo que me muestre el examen d. tabla1 examen ...
  #1 (permalink)  
Antiguo 28/11/2011, 13:17
 
Fecha de Ingreso: octubre-2011
Ubicación: Buenos Aires
Mensajes: 84
Antigüedad: 12 años, 6 meses
Puntos: 2
Pregunta Unir 3 tablas

Hola!

Estoy tratando de unir estas 3 tablas, para lograr la vista abajo detallada, pero no consigo que me muestre el examen d.


tabla1
examen
a
b
c
d

tabla2
examen-----alumno------nota
a-----------juan--------5
b-----------juan--------8
a-----------pedro-------7

tabla3
examen-----alumno
b-----------juan
d-----------juan
b-----------pedro

Vista deseada:
examen-----alumno----------------nota
b-----------juan------------------8
d-----------juan------------------
  #2 (permalink)  
Antiguo 28/11/2011, 15:55
 
Fecha de Ingreso: mayo-2010
Mensajes: 66
Antigüedad: 13 años, 11 meses
Puntos: 2
Respuesta: Unir 3 tablas

Para unir las tablas podes usar INNER JOIN.

Pero yo replantiaría esas tablas...

¿Qué sentido tiene una tabla de examenes (a,b,c,d) si sólo guardas un atributo?¿De que te sirve unirla con otra tabla?

Sólo con la tabla 2 alcanza y sobra. Ahí guardas ya los 3 datos que necesitas, examen, alumno y nota.

Saludos.
  #3 (permalink)  
Antiguo 28/11/2011, 16:09
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Unir 3 tablas

No. Una tabla "examanes" es absolutamente necesaria en un diseño de un sistema educativo. Siempre.
Pero es posible que el ejemplo no esté completo. Una tabla "examen" es en realidad el resultado de la relación entre Asignatura, Docente, Alumno y Cursada, y debe tener por atributos, además de los ID de Alumno y Cursada al menos dos atributos: La fecha_examen, y el tipo_examen o un ID de una tabla que los categorice (no es lo mismo un parcial que un final o un recuperatorio); además pueden ser necesarios el numero de mesa examinadora, sus integrantes (si es un examen final), la sala donde se realice (si el modelo lo abarca), y la relacion con la "mesaExamen", debe indicar expresamente quienes son los presidentes de mesa en cada caso.
Cuando realizas el modelado en forma detallada siempre aparecen requerimientos que debes considerar. Si estás bocetando solamente, puede que no.
En todo caso, para saber quienes lo rindieron se debe usar INNER JOIN en la consulta, y para saber quienes estaban inscriptos en él o no lo rindieron, LEFT JOIN.
De todos modos la sintaxis es parecida, aunque las condiciones son diferentes.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 28/11/2011, 18:11
 
Fecha de Ingreso: octubre-2011
Ubicación: Buenos Aires
Mensajes: 84
Antigüedad: 12 años, 6 meses
Puntos: 2
Respuesta: Unir 3 tablas

El ejemplo puesto es en realidad conceptual y simplificado. Lo que se desea es realizar una consulta que arroje como resultado todos los datos de la tabla3 donde el nombre sea = juan, y unir estos datos con las notas de la tabla2 segun corresponda.

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




La zona horaria es GMT -6. Ahora son las 18:24.