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

suma de sumas

Estas en el tema de suma de sumas en el foro de Mysql en Foros del Web. Buen día foreros :) Necesito hacer una consulta, la cual me sume varias sumas que hago: Código: select ((sum(if (respuesta between 1.0 and 1.8,1,0)))*1.4) as ...
  #1 (permalink)  
Antiguo 22/11/2010, 12:38
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Pregunta suma de sumas

Buen día foreros :)

Necesito hacer una consulta, la cual me sume varias sumas que hago:

Código:
select 
((sum(if (respuesta between 1.0 and 1.8,1,0)))*1.4) as valor1, 
((sum(if (respuesta between 1.9 and 2.7,1,0)))*2.3) as valor2,
 ((sum(if (respuesta between 2.8 and 3.6,1,0)))*3.2) as valor3, 
((sum(if (respuesta between 3.7 and 4.5,1,0)))*4.1) as valor4, 
((sum(if (respuesta between 4.6 and 5.4,1,0)))*5.0) as valor5 from evaluaciones 
where idper='123' and no_preg='2'
Ya intente poner un sum antes de los 5 que hago, pero creo que ando mal en la sintaxis, de hecho en las sumas me ayudaron, pero ahora quiero sumar las sumas valga la redundancia.

Gracias por su tiempo y respuestas
  #2 (permalink)  
Antiguo 22/11/2010, 16:01
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: suma de sumas

Saludos

Haz intentado de esta manera

Código MySQL:
Ver original
  1. ((sum(if (respuesta between 1.0 and 1.8,1,0)))*1.4),
  2. ((sum(if (respuesta between 1.9 and 2.7,1,0)))*2.3),
  3.  ((sum(if (respuesta between 2.8 and 3.6,1,0)))*3.2),
  4. ((sum(if (respuesta between 3.7 and 4.5,1,0)))*4.1),
  5. ((sum(if (respuesta between 4.6 and 5.4,1,0)))*5.0)
  6. ) as totalSuma from evaluaciones
  7. where idper='123' and no_preg='2'
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 23/11/2010, 09:58
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: suma de sumas

Gracias por responder Nano_

pero me sigue saliendo el error de sintaxis :(
  #4 (permalink)  
Antiguo 23/11/2010, 10:48
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: suma de sumas

Buenos días venom_mau, si entendí bien qué es lo que quieres hacer, creo que puedes hacerlo así

Código MySQL:
Ver original
  1. sum(if (respuesta between 1.0 and 1.8,1,0)*1.4) +
  2. sum(if (respuesta between 1.9 and 2.7,1,0)*2.3) +
  3. sum(if (respuesta between 2.8 and 3.6,1,0)*3.2) +
  4. sum(if (respuesta between 3.7 and 4.5,1,0)*4.1) +
  5. sum(if (respuesta between 4.6 and 5.4,1,0)*5.0) as TOTAL
  6. from evaluaciones
  7. where idper='123' and no_preg='2'

Según yo no debe de afectar el hecho de que quité todos los paréntesis que tenías.

Saludos y espero que te sirva de algo la ayuda.
Leo.
  #5 (permalink)  
Antiguo 25/11/2010, 13:42
Avatar de venom_mau  
Fecha de Ingreso: julio-2009
Mensajes: 152
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: suma de sumas

Cita:
Iniciado por leonardo_josue Ver Mensaje
Buenos días venom_mau, si entendí bien qué es lo que quieres hacer, creo que puedes hacerlo así

Código MySQL:
Ver original
  1. sum(if (respuesta between 1.0 and 1.8,1,0)*1.4) +
  2. sum(if (respuesta between 1.9 and 2.7,1,0)*2.3) +
  3. sum(if (respuesta between 2.8 and 3.6,1,0)*3.2) +
  4. sum(if (respuesta between 3.7 and 4.5,1,0)*4.1) +
  5. sum(if (respuesta between 4.6 and 5.4,1,0)*5.0) as TOTAL
  6. from evaluaciones
  7. where idper='123' and no_preg='2'

Según yo no debe de afectar el hecho de que quité todos los paréntesis que tenías.

Saludos y espero que te sirva de algo la ayuda.
Leo.
No puede ser tan sencillo que estaba :P

Gracias leonardo_josue por la respuesta

Saludos :)

Etiquetas: suma, sumas
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 01:10.