如何实现行间互相作减法

[复制链接]
查看11 | 回复2 | 2011-11-1 16:26:29 | 显示全部楼层 |阅读模式
本帖最后由 nsddsn 于 2011-11-28 16:48 编辑
有几行数据如下:
A列B列
1 10
2 20
3 40
4 70
想实现结果是:
12 10-20=-10
13 10-40=-30
14 10-70=-60
23 20-40=-20
24 20-70=-50
34 40-70=-30
oracle 有没有相关分析函数?或者比较好的办法,先谢谢各位了
(最直接的办法可能是通过循环实现)

回复

使用道具 举报

千问 | 2011-11-1 16:26:29 | 显示全部楼层
看下能不能行
with t as
(select 1 a, 10 b from dual
union all
select 2 ,20 from dual
union all
select 3 ,40 from dual
union all
select 4 ,70 from dual
)
select t1.a,t2.a,t1.b-t2.b from t t1,t t2
where t1.aA.Empno and A.rowid<=B.rowinfo
)
select * from t1

回复

使用道具 举报

千问 | 2011-11-1 16:26:29 | 显示全部楼层
大概是这样吧,你看懂了就可以写出来了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行