Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > Mysql

Respuesta
 
Herramientas Desplegado
Antiguo 04-jul-2007, 11:09   #1 (permalink)
joseluisbz no se puede cailificar en este momento
 
Fecha de Ingreso: febrero-2007
Ubicación: Barranquilla, Colombia
Mensajes: 116
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:
joseluisbz@bigfoot.com
joseluisbz está desconectado   Responder Citando
Antiguo 04-jul-2007, 14:04   #2 (permalink)
el cirujano está en el buen camino
 
Avatar de el cirujano
 
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 608
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!!!!!!
el cirujano está desconectado   Responder Citando
Antiguo 05-jul-2007, 00:02   #3 (permalink)
joseluisbz no se puede cailificar en este momento
 
Fecha de Ingreso: febrero-2007
Ubicación: Barranquilla, Colombia
Mensajes: 116
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:
joseluisbz@bigfoot.com
joseluisbz está desconectado   Responder Citando
Antiguo 05-jul-2007, 02:13   #4 (permalink)
joseluisbz no se puede cailificar en este momento
 
Fecha de Ingreso: febrero-2007
Ubicación: Barranquilla, Colombia
Mensajes: 116
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:
joseluisbz@bigfoot.com

Última edición por joseluisbz; 05-jul-2007 a las 02:57.
joseluisbz está desconectado   Responder Citando
Antiguo 11-jul-2007, 02:10   #5 (permalink)
joseluisbz no se puede cailificar en este momento
 
Fecha de Ingreso: febrero-2007
Ubicación: Barranquilla, Colombia
Mensajes: 116
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;
joseluisbz está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 21:19.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93