FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
consulta Calificaciones
Hola a todos!
Estoy haciendo reportes en Quick reports de boletas de calificaciones uso delphi 2010 y SQL server, mi problema es que tengo una tabla calificaciones y guardo una calificacion en ordinario y extraordinario con diferente id pero misma materia, necesito poder mostrar en una tupla el nombre de la materia y las dos calificaciones. mi tabla esta asi Calificaciones id idalumno idmateria calificacion tipoEvaluacion (aqui guardo Ordinario o Extraordinario, segun sea el caso y quiero que en mi consulta se vea asi: ejemplo id idmateria calificacionOrdinario calificacionExtra 1- 1---------5------------------- 7 |
#2
|
||||
|
||||
Creo que el diseño que estás haciendo es incorrecto. Estás mezclando en 1 tabla cosas que deberías tener en 2.
Una tabla para alumnos y otra tabla para Calificaciones. Si aun así decides tenerlo todo en una tabla, tal vez algo que te facilitaría el trabajo sería esto: Calificaciones id idalumno idmateria calificacionOrdinaria calificacionExtraordinaria No me parece correcto pero al menos es mejor que el caso que tú propones ya que tienes 1 sólo registro por alumnos y materia y no repites esos datos en varios registros (cosa que te podría provocar incongruencias).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Esto puede que sea lo que quieres.
Select distinct idalumno, idmateria, CASE when tipoEvaluacion = 'Ordinaria' then calificacion else 0 end CalOrdinaria, 0 CalExtraOrdinaria into #calificacion from Calificacion where tipoEvaluacion = 'Ordinaria' union Select distinct idalumno, idmateria, 0, CASE when tipoEvaluacion = 'Extra Ordinaria' then calificacion else 0 end CalExtraOrdinaria from Calificacion where tipoEvaluacion = 'Extra Ordinaria' Select idalumno, idmateria, SUM(CalOrdinaria) CalOrdinaria, SUM(CalExtraOrdinaria) CalExtraOrdinaria from #calificacion Group by idalumno, idmateria drop Table #calificacion |
#4
|
|||
|
|||
Gracias por sus respuestas y si tengo mas de una tabla uniendo, la solucion que encontre fue hacer un left join uniendo 2 veces la tabla calificaciones y con la condicion en el 1er caso que el tipo de evaluacion fuera Ordinario y el 2do extraordinario.
Saludos y de nuevo muxas gracias |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Aplicación para Administrar Alumnos y Calificaciones | posarma | OOP | 1 | 27-07-2010 10:38:01 |
consulta sobre una consulta :D | PablorD | MySQL | 4 | 02-06-2010 21:59:51 |
Realizar una consulta sobre los registros que devuelve otra consulta | Borjaserrano | Firebird e Interbase | 12 | 01-10-2007 23:19:44 |
Consulta dentro de otra consulta | judit25 | Conexión con bases de datos | 1 | 25-06-2007 15:52:15 |
consulta sobre consulta | superhopi | SQL | 2 | 16-05-2003 19:01:47 |
|