FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Pregunta sobre SQL a los gurus...(BALANCE)
A ver si el oraculo me ilumina con su "sapiencia", estoy buscando una consulta los suficientemente birguera para calcular el balance de una tabla, es decir:
Si tenemos los datos: Debe Haber Balance - 9 9 3 - 6 1 - 5 - 2 7 La cosa es como poder sacar la columna balance mediante una consulta, y asi no tener que grabar fisicacamente el campo. He buscado por inet y veo que varias personas preguntan lo mismo, pero no hay ninguna respuesta que solucione el problema. Animo y gracias.... |
#2
|
||||
|
||||
¿Qué es lo que sería Balance?... ¿Qué motor utilizas?... ¿Puedes usar un store procedure?
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
Como comenta el compañero, la solución a tu problema está en utilizar un procedimento almacenado. Pero si quieres una orientación sobre como hacerlo, deberás indicar que servidor sql utilizas, puesto que cada uno tiene sus características propias.
Si en lugar de utilizar un servidor sql, utilizas una tabla plana (Access, dBase, Paradox, ...), olvídate del tema, y ve pensando en como hacerlo en el Dataset de Delphi. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#4
|
||||
|
||||
Select debe, haber, haber - debe balance
from tabla; Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#5
|
|||
|
|||
Cita:
Salu2... |
#6
|
|||
|
|||
Hola.
En Firebird es muy sencillo de hacer. Simplemente debes crear un procedimiento almacenado de este estilo : Código:
SET TERM ^ ; CREATE PROCEDURE BALANCE RETURNS ( DEBE NUMERIC(18,4), HABER NUMERIC(18,4), SALDO NUMERIC(18,4)) AS begin SALDO = 0; for select DEBE, HABER from TABLA into :DEBE, :HABER do begin SALDO = SALDO + coalesce(HABER, 0) - coalesce(DEBE, 0); suspend; end end ^ SET TERM ; ^ select * from BALANCE Saludos. Última edición por guillotmarc fecha: 20-02-2004 a las 09:59:59. |
#7
|
|||
|
|||
Muchas gracias, funciona perfectamente
Eres grande guillotmarc. Salu2 |
|
|
|