Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

mysql muestra resultados no solicitados...

Estas en el tema de mysql muestra resultados no solicitados... en el foro de Mysql en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 15/08/2011, 11:10
 
Fecha de Ingreso: enero-2009
Mensajes: 14
Antigüedad: 15 años, 2 meses
Puntos: 0
Pregunta mysql muestra resultados no solicitados...

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:

[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
[/mysql]

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


Com veran el error que digo esta en el primer renglon de los resultados...
Espero puedan ayudarme
  #2 (permalink)  
Antiguo 15/08/2011, 13:19
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: mysql muestra resultados no solicitados...

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:
Ver original
  1.     A.id,
  2.     A.grado,
  3.     A.grupo,
  4.     C.*,
  5.     M.nombre,
  6.     M.id
  7.     calificaciones C
  8.     INNER JOIN alumnos A ON C.idAlumno = A.id AND C.semestre = A.grado
  9.     INNER JOIN materias M ON M.id = C.idMateria AND A.grado = M.grado
  10.      C.idAlumno = 1
  11. GROUP BY M.nombre
  12. ORDER BY M.nombre ASC
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 15/08/2011, 13:49
 
Fecha de Ingreso: enero-2009
Mensajes: 14
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: mysql muestra resultados no solicitados...

Mil gracias por la ayuda, ahora si funciona.

Etiquetas: erroneos, resultados
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:41.