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

problemas con consulta

Estas en el tema de problemas con consulta en el foro de Bases de Datos General en Foros del Web. Cordial Saludo. Necesito sacar un promedio de unas tablas. Primero el promedio por areas y luego el promedio de las areas. Esta consulta me saca ...
  #1 (permalink)  
Antiguo 16/03/2009, 15:25
 
Fecha de Ingreso: marzo-2005
Mensajes: 74
Antigüedad: 19 años, 1 mes
Puntos: 0
problemas con consulta

Cordial Saludo.

Necesito sacar un promedio de unas tablas. Primero el promedio por areas y luego el promedio de las areas.
Esta consulta me saca el promedio por areas de cada estudiante:

SELECT cod_estudiante AS estudiante, AVG( puntaje ) AS promedio, id_area AS area
FROM valoracion, evaluacion
WHERE id_evaluacion = evaluacion.id
GROUP BY cod_estudiante, id_area
ORDER BY cod_estudiante


Ahora necesito saber como saco el promedio general (es el promedio de los promedios de las areas) de cada estudiante, todo en una sola consulta.
Tengo las siguientes tablas:
valoracion(id, puntaje, cod_estudiante, id_evaluacion)
evaluacion(id, fecha, tipo, id_grupo, id_area)
areas(id, nombre)
Muchas Gracias por su valiosa colaboracion
  #2 (permalink)  
Antiguo 17/03/2009, 22:42
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: problemas con consulta

La consulta que tienes (en rojo) la puedes usar como subconsulta.
Código sql:
Ver original
  1. SELECT estudiante, AVG(promedio) Prom_Gen
  2. FROM (
  3. SELECT cod_estudiante AS estudiante, AVG( puntaje ) AS promedio, id_area AS area
  4. FROM valoracion, evaluacion
  5. WHERE id_evaluacion = evaluacion.id
  6. GROUP BY cod_estudiante, id_area
  7. ) T
  8. GROUP BY estudiante
  9. ORDER BY estudiante
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
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 11:08.