Cita:
Iniciado por videlxu
El problema es que si le quito entonces se repetiran los nombres, desde luego me mostrara todos los registros con sus notas pero lo que yo quiero es que me muestre un solo nombre con su apellido + la nota de la consulta por ciclo.


ayúdame por favor...
La repetición de datos es una consecuencia inevitable del JOIN. El problema es que lo que tu quieres es un
reporte o informe de cada conjunto de todas con asignaturas y profesores en cada caso, y eso se hace programáticamente, no en la consulta.
Algunos DBMS (Oracle, por ejemplo) tienen recursos adicionales para crear ese tipo de consultas, o bien cláusulas que permiten hacer alguna parte de ese reporte, pero son
recursos adicionados al DBMS en cuestión y no parte del SQL.
Con esto me refiero a que son agregados que cada DBMS le adiciona al SQL que usa, como son las funciones de fecha y hora, que en cada uno de ellos tiene un formato y sintaxis diferente.
En resumen: El INNER JOIN que usas (limpiándolo un poco de basura) te devolverá los datos útiles que cumplen con las condiciones pedidas, pero es a nivel de
programación (off-topic) que deberás resolver la
representacion de los datos de acuerdo a tus necesidades.
¿Cómo?
Bueno, es demasiado simple como para que no lo notes, pero te lo describo así:
recorres iterativamente la tabla de datos obtenida y vas mostrando los datos, haciendo que se visualicen los nombres de los alumnos si y sólo si son diferentes al ultimo mostrado (y obviamente comenzando por mostrar el primero).
Este es un esquema muy sencillo de programar, en el que te pueden ayudar sin problemas en el foro de PHP (y en muchos manuales y tuturiales donde describen ese metodo).
Lo que quiero que te quede claro es que la base de datos no se ocupa de cómo se visualizan los datos. Eso lo hace la aplicación. La misión del DBMS es devlverte la información útil, no ver qué haces con ella.
De allí que existe el modelo MVC, y otros así, donde la interfaz de usuario muestra, la de negocio prepara y gestiona, y la de datos almacena y devuelve.
Prepara lo que se va a visualizar en la capa de negocio, no en la base.