Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/04/2010, 08:03
marianoggg
 
Fecha de Ingreso: octubre-2007
Mensajes: 267
Antigüedad: 17 años
Puntos: 1
Ayuda con INNER JOIN

Hola, tengo la siguiente consulta, que funciona correctamente:

SELECT alumnos.matricula, apellido, nombre, ganancia_profesor, fecha_baja, id_alumno, horarios.id_horario
FROM horarios
INNER JOIN alumnos ON horarios.id_horario = alumnos.id_horario
INNER JOIN matriculas ON alumnos.matricula = matriculas.matricula

WHERE id_profesor = $this->id_profesor
AND id_curso = $id_curso
AND (fecha_baja = '0000-00-00' or (fecha_baja > '$aAnt-$mAnt-00' and fecha_baja < '$aAct-$mAct-32'))
ORDER BY apellido, nombre

Pero quiero hacer una reforma para obtener tambien el campo observaciones de una tabla adicional relacionada, y escribo el siguiente código, que -erroneamente- no devuelve registros:

SELECT alumnos.matricula, apellido, nombre, ganancia_profesor, fecha_baja, id_alumno, horarios.id_horario, cursos.observaciones
FROM horarios
INNER JOIN alumnos ON horarios.id_horario = alumnos.id_horario
INNER JOIN matriculas ON alumnos.matricula = matriculas.matricula
INNER JOIN cursos ON horarios.id_curso = cursos.id_curso
WHERE id_profesor = $this->id_profesor
AND id_curso = $id_curso
AND (fecha_baja = '0000-00-00' or (fecha_baja > '$aAnt-$mAnt-00' and fecha_baja < '$aAct-$mAct-32'))
ORDER BY apellido, nombre

lo unico que hice fue seleccionar el campo observaciones de la tabla Cursos, y agregar a la combinacion la tabla del mismo nombre donde el id_curso sea conicidente con el id del mismo nombre en la tabla Horarios.

Pero ya me sacó canas verdes. Probé de muchas maneras y no puedo hacerlo funcionar.

Alguien me puede ayudar??