Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   consulta matematica (https://www.clubdelphi.com/foros/showthread.php?t=39235)

truequeman 14-01-2007 01:30:47

consulta matematica
 
Hola.. tengo una duda..
como puedo hacer una suma total de un listado.
supongamos que en mi base de datos tengo un campo donde van precios.. .. de esa lista quiero que me sume el total de los articulos que tengo almacenados en ese campo... que formula aplico o como le hago?

dec 14-01-2007 02:37:24

Hola,

¿Qué base de datos utilizas? ¿Puedes hacer uso de SQL? Da alguna información relativa a esto y tal vez sea más sencillo echarte una mano. ;)

oracle 14-01-2007 05:01:08

Si, primero debes decir que gestor estas utilizando....

Por ejemplo si es SQL con un sencillo procedimiento o Triggers puedes obtener la suma que necesitas....por ejemplo el procedimiento quedaria mas o menos asi:



Código SQL [-]
 
CREATE PROCEDURE Suma_Total
@suma real OUTPUT AS
DECLARE 
...
//aqui declaras variables auxiliares de ser necesarias
 
SET @suma real = (SELECT SUM(Cantidad_Articulos) FROM 'NombreTabla' 
... 
GO



Ahora si es otro gestor di cual es....

Saludos

truequeman 14-01-2007 05:07:18

tipo
 
uso base de datos paradox. ( .db).

Crandel 14-01-2007 17:39:25

Edito: no se si lo que quieres es la cantidad de elementos o la suma de todos elementos

Suma:
Código SQL [-]
select sum(campo_precio) from Nombre_Tabla

Cantidad:
Código SQL [-]
select count(campo_precio) from Nombre_Tabla

los dos :D
Código SQL [-]
select sum(campo_precio), count(campo_precio) from Nombre_Tabla

oracle 14-01-2007 20:17:20

!!Excelente Crandel!!

truequeman 18-01-2007 22:31:24

sumas
 
ah ya lo probe con un query sql.
y mas o menos va asi:

tengo un grid y 2 querys sql. con un boton que genera la suma:


procedure TForm1.Button1Click(Sender: TObject);
begin
query2.SQL.Clear;
query2.sql.Add('select sum(Costo)from "c:\DATA\Productos.db"');
query2.Open;
edit1.Text:=query2.Fields[0].AsString ;
end;

ya me suma mis costos bien.

pero ahora tengo otra duda..
ahorita nadamas me suma mis costos de lo que tengo..
pero...
como le hago para que me sume por ejemplo:
la existencia sumada al costo
y de ahi me genere la suma que hice anteriormente?
saludos.---------------

ahh creo que ya...
aqui le puse otra consulta aparte:
y en lugar de ke me sume (ya que me suma el total de los articulos mas el costo total )...
le hice asi
:
query3.SQL.Clear;
query3.sql.Add('select sum((Existencia)*(Costo))from "c:\DATA\Productos.db"');
query3.Open;
edit2.Text:=query3.Fields[0].AsString ;

y en vez de sumar le puse multiplicar los articulos totales por el costo total. y si me sale bien.. la consulta.
saludos. gracias
EOF.

oracle 19-01-2007 01:09:22

Quizás puedo ser así:

Cita:

Originalmente posteado por Crandel....con pequeños cambios.....

Código SQL [-]
select sum(campo1), sum(campo2) from Nombre_Tabla

y luego lo que tienes que hacer es sumar esas dos sumas en el procedimiento que muestras y creo que ya está ....

Saludos

oracle 19-01-2007 01:11:41

Se me ocurre que valdría la pena probar con esto también:

Código SQL [-]
select sum(campo1 + campo2) from Nombre_Tabla

saludos

oracle 19-01-2007 01:14:20

Disculpa Truequeman, no había visto tu mensaje completamente, parece que lo estabasa editando cuando yo respondí, bueno en fin creo que ya todo está solucionado........


Saludos

truequeman 19-01-2007 02:51:54

solucionado
 
si .. perdon.. edite mi mensaje anterior...
y probe directamente sumando una tabla con otra.. pero asi no sale la suma correcta..
ya que no es lo mismo :
2 cosas de 4 pesos = 8
3 cosas de 3 pesos = 9
-------------- la suma correcta seria = $17 pesos.
peso tomando en base las formulas anteriores primero suma los articulos y luego suma los costos :
articulos costos
2 $4
+3 $3
--------------------
5 + 7 = 12

asi seria el resultado de mi inventario.. el cual parece correcto pero no lo es.

si se multiplican como lo mostre anteriormente si da el resultado correcto.

saludos. y gracias..


La franja horaria es GMT +2. Ahora son las 16:57:41.

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