Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/04/2011, 19:04
listashf
 
Fecha de Ingreso: abril-2011
Mensajes: 1
Antigüedad: 13 años
Puntos: 0
Dividir un registro de mysql en dos registros

Saludos,

Tengo una tabla con dos campos (ID autoincrement) y NUM1 int

| ID | NUM1 |
----------------
| 1 | 3 |
----------------
| 2 | 4 |
----------------
| 3 | 7 |
----------------

Para el ejemplo requiero hacer un select que sume NUM1 solo hasta un valor especificado por mi. Para el ejemplo SUM(NUM1) retornaría un resultado de 14, pero si le indico que solo sume hasta que sume "7" solo deberia retornar el registro 1 y 2. Encontre el siguiente ejemplo:

set SUM=0

select *,@SUM:=NUM1 + @SUM as SUMA
from tabla;

| ID | NUM1 | SUMA |
-------------------------
| 1 | 3 | 3 |
-------------------------
| 2 | 4 | 7 |
-------------------------
| 3 | 7 | 14 |
-------------------------

Pero no se como poner el where en el select para que solo retorno el registro 1 y 2 porque al poner where SUMA >= 7 me dice que la columna es desconocida. Por favor me pueden ayudar completando el select?

Adicionalmente, me interesa tambien que un registro pueda dividirse en dos al momento de imprimir el query, ejemplo: Requiero que solo retornen los registros que sumen hasta 6. En el ejemplo anterior el registro 1 y 2 suman 7 me interesa que el segundo registro se divida en dos registros: algo asi:


| ID | NUM1 |
----------------
| 1 | 3 |
----------------
| 2 | 3 |
----------------
| 2 | 1 |
----------------
| 3 | 7 |
----------------
Como se observa el ID 2 se ha divido en dos registros para que el primer registro cubra el valor solicitado el restante se vaya a un segundo registro.

Gracias por su ayuda...