求大神赐于一条SQL,感激不尽
oracle有数据表是T
DYEARMONTHPK_CORPCWAREHOUSEIDCINVENTORYID CINVBASIDVAR
2012-0410021002F8100000000003ZA0001A210000000008K160001F8100000000009ZZ70
2012-0510021002F8100000000003ZA0001A210000000008K160001F8100000000009ZZ-25
2012-0610021002F8100000000003ZA0001A210000000008K160001F8100000000009ZZ-10
2012-0710021002F8100000000003ZA0001A210000000008K160001F8100000000009ZZ72
2012-0810021002F8100000000003ZA0001A210000000008K160001F8100000000009ZZ-3
2012-0910021002F8100000000003ZA0001A210000000008K160001F8100000000009ZZ-37
2012-1010021002F8100000000003ZA0001A210000000008K160001F8100000000009ZZ-27
2012-1110021002F8100000000003ZA0001A210000000008K160001F8100000000009ZZ-17
2012-1210021002F8100000000003ZA0001A210000000008K160001F8100000000009ZZ91
2013-0110021002F8100000000003ZA0001A210000000008K160001F8100000000009ZZ-47
现在想有一个类似递归的形式,以DYEARMONTH为条件,如2012-04这条数据VAR的值是本身(70),2012-05的数据为
2012-04的var+上2012-05的var,70+(-25),一下类似,重新整理输出数据
结果如:
2012-0410021002F8100000000003ZA0001A210000000008K160001F8100000000009ZZ70
2012-0510021002F8100000000003ZA0001A210000000008K160001F8100000000009ZZ45
2012-0610021002F8100000000003ZA0001A210000000008K160001F8100000000009ZZ35
2012-0710021002F8100000000003ZA0001A210000000008K160001F8100000000009ZZ107
。。。。。。。。
求高手解决,在线等,谢谢!!!
[解决办法]
try this,
select a.DYEARMONTH,
a.PK_CORP,
a.CWAREHOUSEID,
a.CINVENTORYID,
a.CINVBASID,
nvl((select sum(b.VAR) from tabT b
where TO_DATE(b.DYEARMONTH+'-01','YYYY-MM-DD')-TO_DATE(a.DYEARMONTH+'-01','YYYY-MM-DD')<0),0)+a.VAR 'VAR'
from tabT a