Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/06/2012, 18:04
Avatar de Vector_Latino
Vector_Latino
 
Fecha de Ingreso: mayo-2012
Mensajes: 25
Antigüedad: 12 años
Puntos: 6
Respuesta: consulta multiple tablas

Hola JenderxD, viendo la estructura de la ultima tabla "seccion_grado" creo que deberías asignarle una llave primaria, ya sea "id_seccion_grado" o como tu quieras colocarle, si usas esta llave podrías probar esta consulta.

La tabla seccion_grado suponiendo que tenga estos campos:
  • id_seccion_grado
  • id_ano
  • id_seccion
  • id_alumno

El codigo esta pensado también para recuperar datos de un solo alumno, para ver todos los alumnos solo es quitar la linea "id_seccion_grado = '12345' AND ", no probé el script pero creo que debería funcionar.
Código PHP:
mysql_query("select nombre,sexo,ano,direccion,cedula,telefono,nomrep,numrep,seccion 
from alumno,grado,seccion,seccion_grado
where 
    id_seccion_grado = '12345' AND 
    seccion_grado.id_ano = grado.id_ano AND
    seccion_grado.id_seccion = seccion.id AND
    seccion_grado.id_alumno  = alumno.id_alumno"
); 
De esta forma la consulta te devolvería todos los campos que necesitas, sin importar que la tabla alumno no tenga el campo ano o seccion ya que estos valores los saca de las tablas grado y seccion.

ya si no le colocaras llave primaria a esta tabla la consulta seria un poco mas compleja ya que tendrias que saber los valores exactos de los campos id_ano, id_seccion y id_alumno para poder hacer la consulta que seria algo así:

Código PHP:
mysql_query("
select nombre,sexo,ano,direccion,cedula,telefono,nomrep,numrep,seccion 
from alumno,grado,seccion
where 
    id_ano = '2012' AND
    id_seccion = 'Seccion X' AND 
    id_alumno = 'Vector Latino'
"
); 
como se ve no seria muy util el crear esta nueva tabla "seccion_grado" sin la llave primaria, ya que para la consulta ni la usarías.

Espero que te sirva.
Saludos...

Última edición por Vector_Latino; 13/06/2012 a las 18:18