Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/05/2014, 09:41
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Hacer suma, dependiendo de un valor

Hola Bier:

No entiendo muy bien el sentido de tu consulta, pero veamos si se este planteamiento te puede servir... puedes utilizar una función CASE-WHEN para evaluar el valor de CAMPO y en cada caso hacer la suma que desees. checa este ejemplo:


Código MySQL:
Ver original
  1. mysql> SELECT * FROM tabla;
  2. +-------+-------+-------+-------+-------+-------+
  3. | campo | dato1 | dato2 | dato3 | dato4 | dato5 |
  4. +-------+-------+-------+-------+-------+-------+
  5. |     1 |     1 |     1 |     1 |     1 |     1 |
  6. |     2 |     2 |     2 |     2 |     2 |     2 |
  7. |     3 |     3 |     3 |     3 |     3 |     3 |
  8. |     4 |     4 |     4 |     4 |     4 |     4 |
  9. |     5 |     5 |     5 |     5 |     5 |     5 |
  10. +-------+-------+-------+-------+-------+-------+
  11. 5 rows in set (0.00 sec)
  12.  
  13. mysql> SELECT campo,
  14.     -> CASE campo
  15.     ->     WHEN 1 THEN dato1
  16.     ->     WHEN 2 THEN dato1 + dato2
  17.     ->     WHEN 3 THEN dato1 + dato2 + dato3
  18.     ->     WHEN 4 THEN dato1 + dato2 + dato3 + dato4
  19.     ->     WHEN 5 THEN dato1 + dato2 + dato3 + dato4 + dato5
  20.     -> END suma
  21.     -> FROM tabla;
  22. +-------+------+
  23. | campo | suma |
  24. +-------+------+
  25. |     1 |    1 |
  26. |     2 |    4 |
  27. |     3 |    9 |
  28. |     4 |   16 |
  29. |     5 |   25 |
  30. +-------+------+
  31. 5 rows in set (0.00 sec)

Observa que para cada valor que puede tomar CAMPO se hace una suma, no sé si sea más o menos lo que pretendes hacer...

Dale un vistazo y nos comentas.

Saludos
Leo