Ver Mensaje Individual
  #12 (permalink)  
Antiguo 31/12/2013, 13:52
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Unir 2 tablas

Cita:
Iniciado por videlxu Ver Mensaje
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.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)