求:update 语句(每天执行一次的sql)
表的结构
--------------------------------------------
DROP table test100;
CREATE TABLE test100
(
date date,
bh varchar(10),--编号
bqye decimal(16,2),--本期余额
sqye decimal(16,2)--上期余额
);
--------------------------------------
数据
date bh bqye sqye
2009-12-17 10001 12.00 0
2009-12-17 10002 100.00 0
2009-12-17 10003 500.00 0
2009-12-17 10004 200.00 0
2009-12-17 10005 200.00 0
2009-12-17 10006 400.00 0
。。。 。。。
2009-12-18 10001 XXX 12.00
2009-12-18 10002 XXX 100.00
2009-12-18 10003 XXX 500.00
2009-12-18 10004 XXX 200.00
2009-12-18 10005 XXX 200.00
2009-12-18 10006 XXX 400.00
问
每天数据为8k多行数据
把2009-12-17的bqye(本期余额)更新到 2009-12-18上期余额上面
date 时间是用程序控制的,sql可以把时间date写死,
球每天执行一次的sql
还有补充,我的是informix数据库,
[解决办法]
update test100 t
set sqye=(select bqye from test100 where date=2009-12-17 and bh=t.bh )
where date=2009-12-18
[解决办法]
什么表啊,把dba气死
[解决办法]
up
[解决办法]
疑问,你把前17号的数据更新到18号上,那么17号的数据保留还是删除?
统计bqye
1.select bh,sum(bqye) as bqye test100 where date in('','') group by 1
更新
2.update test100 b set bh (select sum(a.bqye) as bqye test100 a where a.date in('','')) where date = '' and a.bh = b.bh
估计第2个语句不行,我觉得1条语句不好写可以写多条,我觉得是否可以采用临时表来解决。