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

Problema con consulta, promedios

Estas en el tema de Problema con consulta, promedios en el foro de Mysql en Foros del Web. hola lo que pasa es que tengo el siguiente problema, supongamos |Tabla calificaciones- |------------------| |id_profesor--- | |calificacion-----| tabla profesores id_profesor nombre entonces quiero hacer do ...
  #1 (permalink)  
Antiguo 03/09/2012, 18:50
 
Fecha de Ingreso: agosto-2008
Mensajes: 272
Antigüedad: 16 años, 3 meses
Puntos: 1
Problema con consulta, promedios

hola lo que pasa es que tengo el siguiente problema, supongamos

|Tabla calificaciones-
|------------------|
|id_profesor--- |
|calificacion-----|


tabla profesores
id_profesor
nombre


entonces quiero hacer do consultas, una que es de sste tipo

Select TRUNCATE((sum(calificacion))/(select count(*) from calificaciones where id_profesor=10),2) as prom FROM `calificaciones` where id_profesor=10


y la otra consulta es

select * from profesores (En esta consulta requiero que se muestre el promedio obtenido arriba, de cada profesor)

es decir juntar las dos consultas para que me muestre los resultados siguienteS:

id_profesor , nombre_profesor, Promedio_de_calificaciones_obtenidas

Muchas gracias por su ayuda!! :)
  #2 (permalink)  
Antiguo 04/09/2012, 01:35
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 8 meses
Puntos: 300
Respuesta: Problema con consulta, promedios

Para eso tienes la función AVG() de MySQL. Parece como si tu intención hubiera sido hacer con varias funciones distintas lo que hace esta. Si quieres las medias de todos los profesores que tienen calificaciones:
Código MySQL:
Ver original
  1. SELECT  p.id_profesor, p.nombre nombre_profesor, TRUNCATE(AVG(c.calificacion),2) Promedio_de_calificaciones_obtenidas
  2.    FROM profesores p
  3.       INNER JOIN calificaciones c
  4.         ON p.id_profesor = c.id_profesor
  5.    GROUP BY c.id_profesor

Si solo quieres la de uno

Código MySQL:
Ver original
  1. SELECT  p.id_profesor, p.nombre nombre_profesor, TRUNCATE(AVG(c.calificacion),2) Promedio_de_calificaciones_obtenidas
  2.    FROM profesores p
  3.        INNER JOIN calificaciones c
  4.           ON p.id_profesor = c.id_profesor
  5.           WHERE c.id_profesor = 10
  6.    GROUP BY c.id_profesor

Última edición por jurena; 04/09/2012 a las 01:46

Etiquetas: promedios, select, tabla, tipo
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 04:11.