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

Problema con el SUM

Estas en el tema de Problema con el SUM en el foro de Mysql en Foros del Web. Tengo un drama con una consulta sql en access que estoy intentando hacer. Necesito hacer un sum, que me arroje todos sus resultados menores que ...
  #1 (permalink)  
Antiguo 04/07/2011, 10:38
 
Fecha de Ingreso: octubre-2008
Mensajes: 24
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Problema con el SUM

Tengo un drama con una consulta sql en access que estoy intentando hacer.
Necesito hacer un sum, que me arroje todos sus resultados menores que 100...

hice esto , pero me da errores
Cita:
select per_pro.id_per_fk, sum(per_pro.asignacion) as suma from per_pro where sum(per_pro.asignacion< 100) group by per_pro.id_per_fk
¿hay alguna manera de hacerlo?.
¡Agradesco respuestas!
  #2 (permalink)  
Antiguo 04/07/2011, 11:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Problema con el SUM

Primero, siempre que una consulta te de errores, por favor tomate el tiempo de copiar y postear qué error te da. La inmensa mayoría de las veces no podemos adivinarlo con la consulta, y esa información es la clave para la solución.

Respecto a tu consulta:
Código MySQL:
Ver original
  1.     per_pro.id_per_fk,
  2.     SUM(per_pro.asignacion) suma
  3.     per_pro
  4. WHERE sum(per_pro.asignacion< 100)
  5. GROUP BY per_pro.id_per_fk

En realidad la cosa es simple: No se pueden usar funciones agregadas en el WHERE (tampoco alias de columnas) porque el WHERE opera sobre cada registro y no sobre grupos de registros.
Tu consulta se resuelve en un HAVING:
Código MySQL:
Ver original
  1.     per_pro.id_per_fk,
  2.     sum(per_pro.asignacion) suma
  3.     per_pro
  4. GROUP BY per_pro.id_per_fk
  5. HAVING suma<100
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: sql
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 13:59.