一个sql语句,望高手给点提示(200分)

F

fchyed

Unregistered / Unconfirmed
GUEST, unregistred user!
比如有这样一个表:

时间 累计量
2002.9.5 569
2002.9.6 789
2002.9.7 896
2002.9.8 987

我怎样在查询的时候就是做报表的时候,让后一天的减去前一天的就是例如:
时间 累计量 当日累计
2002.9.5 569
2002.9.6 789 220
2002.9.7 899 110
2002.9.8 999 100


这个sql语句怎么写呢??或者怎么在望orcal里插数据的时候 这个当日累计量自动生成这样也可以,望高手执教!

这是个orcal数据库
 
你參考一下這個問題,與你的有相似之處。還有問題請發郵件
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1447118
 
搞一个存储过程,大体如此,没调试过,可能存在语法问题,不过你自己调试一下,
肯定可以。
update tablenames u
set F_Amount_Now =
(
select b.f_amount - a.f_amount f_amount
(
-- 前一天
select t.f_amount f_amount from tableNames t
where t.F_Date = u.f_date -1
)A,
(
-- 前一天
select t.f_amount f_amount from tableNames t
where t.F_Date = u.f_date
)b
)
 
select t1.时间,t1.累计量, t1.累计量-t2.累计量 as 当日累计

from table t1,(select min(t1.时间-t2.时间) ,t2.累计量
where t1.时间-t2.时间>0 from table) t2
 
同意楼上的写法
 
同意人在昆明
 
是这样的 我觉得还是luck简单点不过没关系我都会给分的.

试试把

,(select min(t1.时间-t2.时间) ,t2.累计量
where t1.时间-t2.时间>0 from table) t2
这里 min(t1.时间,t2.时间) from table t1 ) 把???
 
SELECT a.sj 日期,a.sl 累计数量, decode(b.sl,NULL,NULL,a.sl - b.sl, ) 当日累计
FROM (SELECT sj + 1 sj, sl
FROM table) b,
(SELECT sj, sl
FROM table) a
WHERE a.sj = b.sj(+)

oracle不要用中文字段
 
能力有限,还是调不通,

望各位大侠有时间亲自调一下,再帮帮忙,非常感谢!
 
設表table1結構如:
curdate scalar storescalar
时间 累计量 当日累计
2002.9.5 569
2002.9.6 789 220
2002.9.7 899 110
2002.9.8 999 100

這是一個SQL的寫法:
select a.*,b.storescalar from table1 a,
(select curdate,scalar-(select sum(scalar) from table1 where curdate<a.curdate) from table1) b
where a.curdate=b.curdate
 
谢谢 我已经写出来了当然是在大家的帮助下!
 
顶部