逍 遥 谷

这个sql,你能写出多少种?

   Oracle2005-3-14 13:4
SQL语句

TABLE如下
日期 收入 支出
2000/3/1 50 30
2000/3/2 45 60
2000/3/5 60 10

能否用SELECT語句得出以下結果
1.
日期 收入 支出 余額
2000/3/1 50 30 20
2000/3/2 45 60 5
2000/3/5 60 10 55

2.
TABLE加入一行
2000/3/5 60 10
結果
日期 收入 支出 余額
2000/3/1 50 30 20
2000/3/2 45 60 5
2000/3/5 120 20 105
3.
日期 收入 支出 余額
2000/3/1 50 30 20
2000/3/2 45 60 5
2000/3/3 0 0 5
2000/3/4 0 0 5
2000/3/5 120 20 105


A)
select vdate, amta, amtb, sum(amta - amtb) over (order by vdate) amtc
from tmp_pmt;
B)
select A.vdate, A.amta, A.amtb, (select sum(amta - amtb) from tmp_pmt B where B.vdate <= A.vdate)
from tmp_pmt A;
C)
select A.vdate, A.amta, A.amtb, sum(B.amtc)
from tmp_pmt A, (select vdate, sum(amta - amtb) amtc from tmp_pmt group by vdate) B
where B.vdate <= A.vdate
group by A.vdate, A.amta, A.amtb;
D)
select vdate, amta, amtb, amta - amtb + (SELECT nvl(sum(amta-amtb), 0) FROM tmp_pmt WHERE vdate < a.vdate)
from tmp_pmt a;
标签集:TAGS:
回复Comments()点击Count()

回复Comments

{commenttime}{commentauthor}

{CommentUrl}
{commentcontent}
Categories
-=Oracle资料,文章=-
Links
New Comments
Counter
RSS
我的 Blog:
romeo 最新的 20 条日志
[J2EE]
[Oracle]
[PowerBuilder]
[Linux]
[管理]
[个人随笔]
[休闲娱乐]
[经典瞬间]
全站 Blog:
全站最新的 20 条日志
Calendar