[OT:MySQL] Como pasarle una variable acumulativa a un SELECT?

1,029 views
Skip to first unread message

ZeRoberto

unread,
Nov 24, 2012, 11:14:23 AM11/24/12
to publicesvfoxpro
Hola a todos quiero saber como pasarle una variable acumulativa a un SELECT
 
Osea
 
Tengo una Tabla
 
Codigo     Valor
----------------
01           5
02           1
03           7
04           3
 
Y por medio de un SP quiero pasarle un valor para que me vaye calculando, para que se entienda mejor voy a poner una suma y el valor pasado sera 10
 
SELECT *, (@NuevoValor := @NuevoValor + Valor) NuevoValor FROM miTabla
 
Codigo     Valor    Nuevo Valor
-------------------------------
01           5           15
02           1           16
03           7           23
04           3           26
 
 
 No se si me explique bien, lo que quiero es pasarle un valor a un SELECT y que este me vaya acumulando de acuerdo a los valores de un campo de la tabla
 
Saludos

mpulla

unread,
Nov 24, 2012, 11:59:26 AM11/24/12
to publice...@googlegroups.com
Hola Roberto.

Pasar una variable acumulativa se llama running total, en google encontre este este link pruebalo
http://stackoverflow.com/questions/664700/calculate-a-running-total-in-mysql

Saludos.
Mauricio

Antonio.xt

unread,
Nov 24, 2012, 1:17:40 PM11/24/12
to publice...@googlegroups.com

Que tal Roberto, un metodo para crear una columna acumulativa es relacionando la tabla consigo misma por medio de INNER JOIN.

En tu caso seria mas o menos asi:

SELECT a.codigo, a.valor, SUM(b.valor) AS suma_valor

FROM tutabla a

INNER JOIN tutabla b ON b.codigo <= a.codigo

GROUP BY a.codigo, a.valor

ORDER BY 1 ASC


Este ejemplo es para SQL Server, pero funciona tambien para VFP. Y no tienes que pasarle ninguna variable o parametro.

Saludos...

Charles A. Moreno

ZeRoberto

unread,
Nov 24, 2012, 8:19:55 PM11/24/12
to publice...@googlegroups.com
Gracias a ambos voy a probarlos
 
Saludos

2012/11/24 mpulla <jmaur...@yahoo.es>

--
 
 
 

ZeRoberto

unread,
Nov 24, 2012, 8:31:39 PM11/24/12
to publice...@googlegroups.com
Antonio lo que yo queria es pasarle una valor al SP y que esto lo vaya acumulando en una instruccion SELECT.
 
Lo que me muestra @mpulla es lo mismo que lo que yo estaba intentando pero en mi caso me devolvia un valor NULL voy a probarlo nuevamente para ver que pasa.
 
Saludos

--
 
 
 

Walter R. Ojeda Valiente

unread,
Nov 24, 2012, 10:00:31 PM11/24/12
to publice...@googlegroups.com
¿Los vas a probar a ambos?

Oh, oh, y triple oh. Pero si les gusta ...

:-)

Saludos.

Walter.

"Si puedes razonar con gente religiosa, no son gente religiosa". Dr. House




Date: Sat, 24 Nov 2012 20:19:55 -0500
Subject: Re: [vfp] Re: [OT:MySQL] Como pasarle una variable acumulativa a un SELECT?
From: zero...@gmail.com
To: publice...@googlegroups.com
--
 
 
 

ZeRoberto

unread,
Nov 25, 2012, 11:18:45 AM11/25/12
to publice...@googlegroups.com
Me referia al codigo Walter

@mpulla lo que copie de la pagina funciono, que es identico al que yo
estaba haciendo pero el mio no funcionaba por que lo hacia con la
variable de parametro. Y solo tuve que modificar

SET @lnCantidad := tnCantidad;

Y ahi si funciono.

Gracias

Saludos



El 24/11/12, Walter R. Ojeda Valiente <wr...@hotmail.com> escribió:
>
> ¿Los vas a probar a ambos?
>
> Oh, oh, y triple oh. Pero si les gusta ...
>
> :-)
>
> Saludos.
>
> Walter.
>
> "Si puedes razonar con gente religiosa, no son gente religiosa". Dr. House
>
>
>
> Date: Sat, 24 Nov 2012 20:19:55 -0500
> Subject: Re: [vfp] Re: [OT:MySQL] Como pasarle una variable acumulativa a un
> SELECT?
> From: zero...@gmail.com
> To: publice...@googlegroups.com
>
> Gracias a ambos voy a probarlos
>
> Saludos
>
>
> 2012/11/24 mpulla <jmaur...@yahoo.es>
>
> Hola Roberto.
>
> Pasar una variable acumulativa se llama running total, en google encontre
> este este link pruebalo
>
> http://stackoverflow.com/questions/664700/calculate-a-running-total-in-mysql
>
> Saludos.
> Mauricio
> --
>
>
>
>
>
>
>
>
> --
>
>
>
>
>
>
>
>
> --
>
>
>
>
Reply all
Reply to author
Forward
0 new messages