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:
(http://s2.subirimagenes.com/otros/previo/thump_4796463hacker.jpg) (http://www.subirimagenes.com/otros-hacker-4796463.html)
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??
Buenas
Primero, te sugiero utilizar inner join en lugar del where a secas
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" ...
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
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!
Procedimientos almacenados? (http://www.fpress.com/revista/num1205/art.htm) Ahí puedes meter cuanta consulta y comprobación quieras
Saludos