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

Función de grupo con demasiados niveles de anidamiento

Estas en el tema de Función de grupo con demasiados niveles de anidamiento en el foro de Oracle en Foros del Web. Buenas, estoy teniendo problemas con una consulta. Me gustaría mostrar todos los departamentos con empleados cuya media de hijos sea superior a 2. Indicando tambien ...
  #1 (permalink)  
Antiguo 28/10/2006, 07:11
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Función de grupo con demasiados niveles de anidamiento

Buenas, estoy teniendo problemas con una consulta. Me gustaría mostrar todos los departamentos con empleados cuya media de hijos sea superior a 2. Indicando tambien dicha media. Yo hago lo siguiente:

Código:
select num_departamento,avg(sum(num_hijos))
from empleados
group by num_departamento
having avg(sum(num_hijos))>2
Me da el siguiente error:

ORA-00935:Función de grupo con demasiados niveles de anidamiento.

Que estoy haciendo mal? Gracias
  #2 (permalink)  
Antiguo 01/11/2006, 16:36
Avatar de jabi  
Fecha de Ingreso: noviembre-2006
Mensajes: 120
Antigüedad: 17 años, 5 meses
Puntos: 1
Si no me equivoco el problema radica en que no puedes "juntar" dos funciones de agregado (sum y avg en este caso)...

Quizás así te funcionaría, si he entendido bien el enunciado:

Código:
SELECT num_departamento, avg(num_hijos) As Media
FROM Empleados 
GROUP BY num_departamento
HAVING avg(num_hijos) > 2;
Porque la suma no la necesitarías, el propio avg la realiza.

Espero estar en lo cierto y haber acertado ya que no llevo un día muy allá :D

Un saludo.
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 02:46.