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;
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;



回复Comments
{commenttime}{commentauthor}
{CommentUrl}
{commentcontent}