Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   calculo en SELECT (https://www.clubdelphi.com/foros/showthread.php?t=24282)

mangk 14-08-2005 10:23:43

calculo en SELECT
 
Necesito calcular el valor de un campo en base a la suma de otros de la misma tabla sumando desde el primer registro hasta el actual (como un acumulador). Ej:

Tabla "a"
Row1 Row2 Calculado
1 "X" 1
5 "X" 6 (5+1)
2 "Y" 2
7 "X" 13 (7+6)
6 "Y" 8 (8+2)

Se puede hacer con un select?
Gracias.

Lepe 14-08-2005 12:06:24

Eso parece un geroglífico, ¿que son "X" e "Y"? son caracteres dentro del valor del campo?

saludos

celades1 15-08-2005 14:09:19

Hola esto es un ejemplo de lo que creo que tu quieres
me enseña el id, la serie de facturacion, el importe de cada alabaran i el importe acumulado de todos los importes de los albaranes anteriores i el incluido que tengan la misma serie de facturacion del registo


Código SQL [-]
select a.id, a.serie_facturacio_id,a.import_net,
(select sum(b.import_net ) from albarans b where b.id<=a.id and a.serie_facturacio_id=b.serie_facturacio_id)
from albarans a order by a.id
Saludos

mangk 15-08-2005 22:10:31

La primer columna de numeros son valores de un campo la segunda columna de X o Y entre comillas son valores de un campo caracter, y la ultima columna de numeros son el resultado de un calculo , lo que esta entre parentesis es de donde se obtiene el resultado que es sumando la 1er columna de la fila actual al calculo de la tercer columna de la fila anterior que coincida segun corresponda con "X" o "Y".
No se si te aclara algo o al reves, gracias igual.

ContraVeneno 15-08-2005 23:56:58

Una tabla así como esta:
(Sombrea para que veas como hacer que se parezca a una tabla, cambiando colores)
Row1 | Row2 | Calculado
-------------------------
1 --- | "X" -- | 1
5 --- | "X" -- | 6 --------- de (5+1)
2 --- | "Y" -- | 2
7 --- | "X" -- | 13 -------- de (7+6)
6 --- | "Y" -- | 8 --------- de (8+2)

un acumulativo de los X y un acumulativo de los Y según vayan apareciendo.
¿Ya probaste hacer como recomienda Celades1?

roman 16-08-2005 00:26:52

Otra forma de poner tablas ;)


Código:

Row1  | Row2  | Calculado
--------------------------
1    | "X"    |  1
5    | "X"    |  6          de (5+1)
2    | "Y"    |  2
7    | "X"    | 13          de (7+6)
6    | "Y"    |  8          de (8+2)

// Saludos

mangk 16-08-2005 20:03:55

Gracias
 
Ya lo resolvi como me indica celades1, gracias a todos.


La franja horaria es GMT +2. Ahora son las 11:01:54.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi