Calcular columna de saldo

Tengo el siguiente código
select docnumbr,docdate,itemnmbr,(trxqty*trybsuom),unitcost,trxloctn,trnstloc,
dbo.Ingreso(dbo.DevuelveQty(docnumbr, itemnmbr, ((trxqty*trybsuom))),trxqty, 1) AS Cantidad_Ingreso,
dbo.Egreso(dbo.DevuelveQty(docnumbr,itemnmbr , (trxqty*trybsuom)), trxqty, -1) AS Cantidad_Egreso,
from IV30300
where docdate < '2008-nov-01'
AND itemnmbr between '01-01-021' and '01-01-021'
Al cual quisiera agregarle una columna la cual me de el valor del saldo el cual seria cantidad entrada menos cantidad salida pero no se como realizar esta operación
de

1 Respuesta

Respuesta
1
Creo que si te entendi bien seria asi
select docnumbr,docdate,itemnmbr,(trxqty*trybsuom),unitcost,trxloctn,trnstloc,
dbo.Ingreso(dbo.DevuelveQty(docnumbr, itemnmbr, ((trxqty*trybsuom))),trxqty, 1) AS Cantidad_Ingreso,
dbo.Egreso(dbo.DevuelveQty(docnumbr,itemnmbr , (trxqty*trybsuom)), trxqty, -1) AS Cantidad_Egreso,
((trxqty*trybsuom))),trxqty, 1) - (trxqty*trybsuom)), trxqty, -1) as saldo
from IV30300
where docdate < '2008-nov-01'
AND itemnmbr between '01-01-021' and '01-01-021'
Perdona la molestia pero ahora me da un error en una coma, yo miro el código correcto pero no se porque me da estos error
(((TRXQTY*QTYBSUOM), TRXQTY, 1) - ((TRXQTY*QTYBSUOM), TRXQTY, -1)) as saldo
Creo que no había visto bien tu sql debe ser así según veo
dbo. Ingreso(dbo. DevuelveQty(docnumbr, itemnmbr, ((trxqty*trybsuom))), trxqty, 1) - dbo. Egreso(dbo. DevuelveQty(docnumbr, itemnmbr, (trxqty*trybsuom)), trxqty, -1) as saldo
Fíjate que funciona pero no me saca el saldo, despliega unicamente la resta de la fila y lo que quiero que desplegué es el acumulado menos los egresos
Pues mira de sqlserver no es que sepa mucho pero veo que lo que habría que hacer es utilizar funciones de agrupamiento para que te saque ese acumulado en oracle hay unas funciones muy buenas para esos casos como son rollup y cube tendrías que tratar de consultar que funciones en sqlserver se tienen esa funcionalidad que prestan las dos funciones que te mencione de todas maneras aquí te envío un enlace sobre funciones de agrupamiento
http://www.sqlserverya.com.ar/temarios/descripcion.php?cod=42&punto=36
http://www.sqlteam.com/article/how-to-use-group-by-in-sql-server

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas