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

Es correcto el planteo de esta consulta?

Estas en el tema de Es correcto el planteo de esta consulta? en el foro de SQL Server en Foros del Web. Hola a todos, miren me gustaria que analicen un consulta y me de su opinion si puede ser. La cosa es que estoy haciendo una ...
  #1 (permalink)  
Antiguo 23/11/2011, 18:42
 
Fecha de Ingreso: junio-2009
Mensajes: 19
Antigüedad: 14 años, 10 meses
Puntos: 0
Pregunta Es correcto el planteo de esta consulta?

Hola a todos, miren me gustaria que analicen un consulta y me de su opinion si puede ser.
La cosa es que estoy haciendo una pantalla con carga de notas (calificaciones) de un colegio al seleccionar una materia, un curso (grado), una seccion ( primera o segunda) y el numero de parcial que se va a cargar (primer parcial, segu, tercero, recuperatorio) me deberia tirar una lista con todos los alumnos que estan anotados en esa materia y que me muestre los que ya tienen ingresado alguna nota.
Bueno logre hacer esa consulta pero sino uso el operador DISTINCT me devuelve demasiados registros repetidos y ahí me entro el temor si estara bién mi planteo o es algo que funciona pero complicando mucho las cosas, por eso le pido ayuda para que me digan su opion de si es correcto mi planteo o lo deberia hacer de otro modo.
Desde ya muchisimas gracias.

la consulta:

Código SQL:
Ver original
  1. SELECT ac.Legajo, a.Nombre, n.ValorNota
  2. FROM Alumno AS a
  3. INNER JOIN AlumnoCarrera AS ac
  4. ON ac.id_alumno = a.id_alumno
  5. INNER JOIN alumnomateria AS am
  6. ON am.legajo = ac.legajo
  7. LEFT JOIN (SELECT * FROM Nota WHERE Id_materia = Xmateria AND ParcialNumero = Xparcial) AS n
  8. ON n.legajo = ac.legajo
  9. WHERE am.seccion = Xseccion
  10. ORDER BY ac.Legajo

*donde dice Xmateria, Xparcial y Xseccion son valores que le paso desde variables

Las tablas que estoy usando estan compuestas asi:
Alumno: Id_alumno (pk) ...datos personales
AlumnoCarrera: legajo(pk), id_Alumno, id_carrera
AlumnoMateria: legajo(pk), id_materia(pk), estado, seccion, fechaInscripcion
Nota: id_nota (pk), Legajo, ValorNota, ParcialNumero, cicloLectivo, id_materia(fk)


pd: si alguien se pregunta por que uso una tabla Alumnocarrera es por que puede existir la posibilidad de que un alumno se anote a mas de una carrera.
Nuevamente muchas gracias y disculpen si es medio tonto lo que pregunto, estoy haciendo esto a prueba y error y me ayuda mucho las opiniones que encuentro.
Salud!

Etiquetas: correcto, fecha, registros, select, tabla
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 07:55.