Consulta en mysql (join)

Iniciado por Aeros, 14 Julio 2010, 13:07 PM

0 Miembros y 1 Visitante están viendo este tema.

Aeros

Hola buenos dias:

primero gracias al moderador por explicarme bien las foraneas que ya las hice en sql y bien :D

tengo la siguiente base de datos con sus respectivos campos:



Primero se me ocurrio hacer un join entre profesores y cursos para listar los profesores y los cursos que dicta (select * from curso, profesor where curso.id_Profesor = profesor.id_Profesor) pero digo como hacer un join para el mismo caso pero de alumnos teniendo una tabla entre medio que seria de inscripcion??

Novlucker

Buenas

Primero, te sugiero utilizar inner join en lugar del where a secas
Código (sql) [Seleccionar]
select * from curso inner join profesor on curso.id_Profesor = profesor.id_Profesor

Para lo otro, sigues con lo mismo pero saltas en la "nueva tabla" ...

Código (sql) [Seleccionar]
select * from alumno inner join inscripcion
on alumno.id_alumno = inscripcion.id_alumno
inner join cursos
on inscripcion.id_curso = curso.id_curso


Utilizar inner join es lo más optimo, pero no se si ya lo conoces o debes de hacerlo a base de where :P

Saludos


Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

Aeros

lo probe en el query  y funciono perfectamente!

una pregunta se puede usar un insert con un inner join? por ejemplo si quiero agregar un alumno a un curso y quiero saber si el campo vacantes es > 0 y si lo hay ingresarlo  e ir restando, porque vi en un foro que decia la setencia insert no permite la union!

Novlucker

Procedimientos almacenados? Ahí puedes meter cuanta consulta y comprobación quieras

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein