Comunidad de diseño web y desarrollo en internet online

Ayuda: mysql muestra resultados no solicitados...

Citar            
MensajeEscrito el 15 Ago 2011 05:08 pm
Hola que tal,
De nuevo solicitando ayuda, tengo mi consulta en mysql y al solicitar que muestre los resultados de un alumno en cuanto a sus calificaciones... pues me arroja en el primer lugar al segundo alumno, con las calificaciones del primero, y luego todas las calificaciones del primer alumno el cual yo solicite.

Consulta:

Código MySQL :

SELECT alumnos.id, alumnos.grado, alumnos.grupo, calificaciones.*, materias.nombre, materias.id 
FROM calificaciones
LEFT JOIN alumnos ON alumnos.id = calificaciones.idAlumno
LEFT JOIN materias ON materias.id = calificaciones.idMateria 
AND calificaciones.idAlumno = 1
AND calificaciones.semestre = alumnos.grado  
AND materias.grado = alumnos.grado 
GROUP BY materias.nombre
ORDER BY materias.nombre ASC


Y este es el resultado... ¿alguna sugerencia?


Com veran el error que digo esta en el primer renglon de los resultados...
Espero puedan ayudarme

Por holler

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 15 Ago 2011 07:51 pm
Esta respuesta me la dieron en otro foro, pero para que no se quede sin resolver aqui, la posteare.

-----------------------

El uso de LEFT JOIN es para obtener todos los registros de la tabla izquierda (calificaciones en este caso), tengan o no coincidencias con el de la derecha, pero no es exactamente eso lo que buscas.
En otras palabras, no es suficientemente restrictivo.
La sintaxis más cercana para lo que quieres sería tal vez:
Código MySQL:

Código MySQL :

SELECT
        A.id,
        A.grado,
        A.grupo,
        C.*,
        M.nombre,
        M.id
    FROM
        calificaciones C
        INNER JOIN alumnos A ON C.idAlumno = A.id AND C.semestre = A.grado
        INNER JOIN materias M ON M.id = C.idMateria AND A.grado = M.grado
    WHERE
         C.idAlumno = 1
    GROUP BY M.nombre
    ORDER BY M.nombre ASC

Por holler

65 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.