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

Una Consulta de Diferentes Campos en Diferentes Tablas

Estas en el tema de Una Consulta de Diferentes Campos en Diferentes Tablas en el foro de Mysql en Foros del Web. Tengo las Siguientes Tablas de una sola Base de datos. Código PHP: Tabla :  Notas ,  Campos  ( Vigencia ,  CodigoEstudiante ,  CodigoAsignatura ,  Nota1 ...
  #1 (permalink)  
Antiguo 04/07/2007, 11:09
 
Fecha de Ingreso: febrero-2007
Ubicación: Barranquilla, Colombia
Mensajes: 181
Antigüedad: 17 años, 2 meses
Puntos: 3
Una Consulta de Diferentes Campos en Diferentes Tablas

Tengo las Siguientes Tablas de una sola Base de datos.
Código PHP:
TablaNotasCampos (VigenciaCodigoEstudianteCodigoAsignaturaNota1Nota2Nota3Nota4)

TablaEstudiantesCampos (CodigoEstudianteNombreEstudianteApellido1Apellido2Genero)

TablaAsignaturasCampos (CodigoAsignaturaNombreAsignaturaVigenciaAreaCodigoCurso)

TablaMatriculasCampos (CodigoEstudianteVigenciaCodigoCurso)

TablaCursosCampos (CodigoCursoNombreCursoSeccionJornada
Necesito que al hacer una consulta así:

SELECT CodigoEstudiante, Nota1, Nota2, Nota3, Nota4 FROM Notas WHERE CodigoEstudiante = 'CodEst' AND Vigencia = 'Vignc';

Cómo trabajo con el resultado anterior en MySQL?

SELECT CodigoEstudiante, NombreEstudiante, Apellido1, Apellido2, Genero FROM Estudiantes WHERE CodigoEstudiante = 'CodEst';

Posteriormente capturar el curso al que pertenece desde la tabla matriculas

SELECT CodigoEstudiante, CodigoCurso FROM Matriculas WHERE CodigoEstudiante = 'CodEst' AND Vigencia = 'Vignc';

Del resultado anterior buscar los nombres de los cursos;

SELECT CodigoCurso, NombreCurso, Seccion, Jornada FROM Cursos WHERE CodigoCurso = 'CodCur';

Se podrá hacer todo en una sola consulta Select?


Algo como
Código:
SELECT Notas.CodigoEstudiante, Nota1, Nota2, Nota3, Nota4, Estudiantes.NombreEstudiante, Estudiantes.Apellido1, Estudiantes.Apellido2, Estudiantes.Genero FROM Notas WHERE Notas.CodigoEstudiante = 'CodEst' AND Vigencia = 'Vignc';

Organizar los resultados según Nombres?
__________________
Jose Luis Bernal Zambrano
Please response to:
[email protected]
  #2 (permalink)  
Antiguo 04/07/2007, 14:04
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 21 años
Puntos: 3
Re: Una Consulta de Diferentes Campos en Diferentes Tablas

usando la sentencias INNER JOIN en tu consultas y asi vas agregando las cantidades de tablas que necesites.. aqui un ejemplo....

Código PHP:
SELECT CodigoCursoNombreCursoSeccionJornadaCodigoEstudianteCodigoCursoNombreEstudianteApellido1Apellido2GeneroCodigoEstudianteNota1Nota2Nota3Nota4 FROM Estudiantes INNER JOIN Matriculas ON Matriculas.CodigoEstudiante=Estudiantes.CodigoEstudiante INNER JOIN Notas ON Notas.CodigoEstudiante=Estudiantes.CodigoEstudiante INNER JOIN ..... 
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #3 (permalink)  
Antiguo 05/07/2007, 00:02
 
Fecha de Ingreso: febrero-2007
Ubicación: Barranquilla, Colombia
Mensajes: 181
Antigüedad: 17 años, 2 meses
Puntos: 3
Re: Una Consulta de Diferentes Campos en Diferentes Tablas

Código PHP:
SELECT estudiantes.Apl1estudiantes.Apl2estudiantes.NmbsDefCursos.Crso FROM estudiantesmatriculasDefCursos WHERE matriculas.eIdnt estudiantes.eIdnt AND matriculas.dcIdn DefCursos.dcIdn
__________________
Jose Luis Bernal Zambrano
Please response to:
[email protected]
  #4 (permalink)  
Antiguo 05/07/2007, 02:13
 
Fecha de Ingreso: febrero-2007
Ubicación: Barranquilla, Colombia
Mensajes: 181
Antigüedad: 17 años, 2 meses
Puntos: 3
Re: Una Consulta de Diferentes Campos en Diferentes Tablas

SELECT
estudiantes.Apl1, estudiantes.Nmbs,
docentes.Apl1, docentes.Nmbs,
matriculas.dcIdn, DefCursos.Crso, notas.aIdnt, asignaturas.Nmbr, notas.Nprc1,
DefAreas.Area
FROM
estudiantes, matriculas, notas, asignaturas, DefCursos, DefAreas, docentes, contratos
WHERE
notas.eIdnt = estudiantes.eIdnt AND notas.dvIdn = matriculas.dvIdn AND
matriculas.dcIdn = DefCursos.dcIdn AND
matriculas.eIdnt = estudiantes.eIdnt AND
notas.aIdnt = asignaturas.aIdnt AND notas.dvIdn = asignaturas.dvIdn AND
matriculas.dcIdn = asignaturas.dcIdn AND
DefAreas.daIdn = asignaturas.daIdn AND
asignaturas.dIdnt = contratos.dIdnt AND
docentes.dIdnt = contratos.dIdnt AND
contratos.dvIdn = notas.dvIdn AND
DefCursos.dcIdn = '11A' AND notas.dvIdn = '2007' ORDER BY asignaturas.Nmbr;

Gracias por la respuesta, es algo equivalente a lo anterior.

http://www.tomatoma.ws/articulo.php?...70&forum_id=27

http://www.tomatoma.ws/articulo.php?...35&forum_id=27

http://www.aulaclic.es/sql/t_3_4.htm
__________________
Jose Luis Bernal Zambrano
Please response to:
[email protected]

Última edición por joseluisbz; 05/07/2007 a las 02:57
  #5 (permalink)  
Antiguo 11/07/2007, 02:10
 
Fecha de Ingreso: febrero-2007
Ubicación: Barranquilla, Colombia
Mensajes: 181
Antigüedad: 17 años, 2 meses
Puntos: 3
Re: Una Consulta de Diferentes Campos en Diferentes Tablas

SELECT matriculas.eIdnt, estudiantes.Apl1, estudiantes.Apl2, estudiantes.Nmbs FROM matriculas, estudiantes WHERE estudiantes.eIdnt = matriculas.eIdnt AND matriculas.dvIdn = '2007' AND matriculas.dcIdn = '10A' ORDER BY estudiantes.Apl1;

//Tratar de Integrar a Notas
SELECT matriculas.eIdnt, estudiantes.Apl1, estudiantes.Apl2, estudiantes.Nmbs, notas.aIdnt, notas.Nprc1, notas.Nprc2, notas.Nprc3, notas.Nprc4, notas.Nfinl FROM matriculas, estudiantes, notas WHERE estudiantes.eIdnt = matriculas.eIdnt AND matriculas.dvIdn = '2007' AND matriculas.dcIdn = '10A' AND
notas.eIdnt = matriculas.eIdnt AND notas.dvIdn = '2007'
ORDER BY estudiantes.Apl1;

//Tratar de Integrar asignaturas
SELECT matriculas.eIdnt, estudiantes.Apl1, estudiantes.Apl2, estudiantes.Nmbs, notas.aIdnt, notas.Nprc1, notas.Nprc2, notas.Nprc3, notas.Nprc4, notas.Nfinl
FROM matriculas, estudiantes, notas, asignaturas
WHERE estudiantes.eIdnt = matriculas.eIdnt AND matriculas.dvIdn = '2007' AND matriculas.dcIdn = '10A' AND
notas.eIdnt = matriculas.eIdnt AND notas.dvIdn = '2007' AND
asignaturas.dvIdn = '2007' AND asignaturas.dcIdn = '10A' AND asignaturas.aIdnt = notas.aIdnt

ORDER BY estudiantes.Apl1;

//Tratar de Integrar DefAreas
SELECT matriculas.eIdnt, estudiantes.Apl1, estudiantes.Apl2, estudiantes.Nmbs, notas.aIdnt, notas.Nprc1, DefAreas.Area
FROM matriculas, estudiantes, notas, asignaturas, DefAreas
WHERE estudiantes.eIdnt = matriculas.eIdnt AND matriculas.dvIdn = '2007' AND matriculas.dcIdn = '10A' AND
notas.eIdnt = matriculas.eIdnt AND notas.dvIdn = '2007' AND
asignaturas.dvIdn = '2007' AND asignaturas.dcIdn = '10A' AND asignaturas.aIdnt = notas.aIdnt AND
DefAreas.daIdn = asignaturas.daIdn
ORDER BY estudiantes.Apl1, DefAreas.daIdn;

//Tratar de Integrar DefCursos
SELECT DefCursos.Crso, matriculas.eIdnt, estudiantes.Apl1, estudiantes.Apl2, estudiantes.Nmbs, notas.aIdnt, notas.Nprc1, DefAreas.Area
FROM DefCursos, matriculas, estudiantes, notas, asignaturas, DefAreas
WHERE DefCursos.dcIdn = matriculas.dcIdn AND estudiantes.eIdnt = matriculas.eIdnt AND matriculas.dvIdn = '2007' AND matriculas.dcIdn = '10A' AND
notas.eIdnt = matriculas.eIdnt AND notas.dvIdn = '2007' AND
asignaturas.dvIdn = '2007' AND asignaturas.dcIdn = '10A' AND asignaturas.aIdnt = notas.aIdnt AND
DefAreas.daIdn = asignaturas.daIdn
ORDER BY estudiantes.Apl1, DefAreas.daIdn;

//Tratar de Integrar Tutores
SELECT DefCursos.Crso, matriculas.eIdnt, estudiantes.Apl1, estudiantes.Apl2, estudiantes.Nmbs, notas.aIdnt, notas.Nprc1, DefAreas.Area
FROM DefCursos, matriculas, estudiantes, notas, asignaturas, DefAreas, tutores
WHERE DefCursos.dcIdn = matriculas.dcIdn AND estudiantes.eIdnt = matriculas.eIdnt AND matriculas.dvIdn = '2007' AND matriculas.dcIdn = '10A' AND
notas.eIdnt = matriculas.eIdnt AND notas.dvIdn = '2007' AND
asignaturas.dvIdn = '2007' AND asignaturas.dcIdn = '10A' AND asignaturas.aIdnt = notas.aIdnt AND
DefAreas.daIdn = asignaturas.daIdn AND
tutores.dcIdn = '10A' AND tutores.dvIdn = '2007'
ORDER BY estudiantes.Apl1, DefAreas.daIdn;

//Tratar de Integrar Docentes
SELECT DefCursos.Crso, docentes.Apl1, docentes.Nmbs, matriculas.eIdnt, estudiantes.Apl1, estudiantes.Nmbs, notas.aIdnt, notas.Nprc1, DefAreas.Area
FROM DefCursos, matriculas, estudiantes, notas, asignaturas, DefAreas, tutores, docentes
WHERE
DefCursos.dcIdn = matriculas.dcIdn AND estudiantes.eIdnt = matriculas.eIdnt AND matriculas.dvIdn = '2007' AND matriculas.dcIdn = '10A' AND
notas.eIdnt = matriculas.eIdnt AND notas.dvIdn = '2007' AND
asignaturas.dvIdn = '2007' AND asignaturas.dcIdn = '10A' AND asignaturas.aIdnt = notas.aIdnt AND
DefAreas.daIdn = asignaturas.daIdn AND
tutores.dcIdn = '10A' AND tutores.dvIdn = '2007' AND
docentes.dIdnt = tutores.dIdnt
ORDER BY estudiantes.Apl1, DefAreas.daIdn;

//Organizar Sentencias y Agregar Campos Faltantes
SELECT DefCursos.Crso, DefCursos.ICrt, DefCursos.Secc, DefCursos.Jorn, docentes.Apl1, docentes.Apl2, docentes.Nmbs, estudiantes.eIdnt, estudiantes.Apl1, estudiantes.Apl2, estudiantes.Nmbs, notas.aIdnt, notas.Nprc1, notas.Nprc2, notas.Nprc3, notas.Nprc4, notas.Nfinl, DefAreas.Area
FROM DefCursos, matriculas, estudiantes, notas, asignaturas, DefAreas, tutores, docentes
WHERE
DefCursos.dcIdn = matriculas.dcIdn AND estudiantes.eIdnt = matriculas.eIdnt AND matriculas.dvIdn = '2007' AND matriculas.dcIdn = '10A' AND notas.eIdnt = matriculas.eIdnt AND notas.dvIdn = '2007' AND
asignaturas.dvIdn = '2007' AND asignaturas.dcIdn = '10A' AND asignaturas.aIdnt = notas.aIdnt AND
DefAreas.daIdn = asignaturas.daIdn AND tutores.dcIdn = '10A' AND tutores.dvIdn = '2007' AND
docentes.dIdnt = tutores.dIdnt ORDER BY estudiantes.Apl1, DefAreas.daIdn;

//Declaración única de Valores constantes
SELECT DefCursos.Crso, DefCursos.ICrt, DefCursos.Secc, DefCursos.Jorn, docentes.Apl1, docentes.Apl2, docentes.Nmbs, estudiantes.eIdnt, estudiantes.Apl1, estudiantes.Apl2, estudiantes.Nmbs, notas.aIdnt, notas.Nprc1, notas.Nprc2, notas.Nprc3, notas.Nprc4, notas.Nfinl, DefAreas.Area
FROM DefCursos, matriculas, estudiantes, notas, asignaturas, DefAreas, tutores, docentes
WHERE
DefCursos.dcIdn = matriculas.dcIdn AND estudiantes.eIdnt = matriculas.eIdnt AND notas.eIdnt = matriculas.eIdnt AND notas.dvIdn = matriculas.dvIdn AND
asignaturas.dvIdn = matriculas.dvIdn AND asignaturas.dcIdn = matriculas.dcIdn AND asignaturas.aIdnt = notas.aIdnt AND
DefAreas.daIdn = asignaturas.daIdn AND tutores.dcIdn = matriculas.dcIdn AND tutores.dvIdn = matriculas.dvIdn AND
docentes.dIdnt = tutores.dIdnt AND matriculas.dvIdn = '2007' AND matriculas.dcIdn = '10A' ORDER BY estudiantes.Apl1, DefAreas.daIdn;
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 06:27.