在sql的查询的每一行结果中,加入一个根据每行金额加减的字段

查询结果类始于下面:日期单据类型往来单位应付增加应付减少应付余额20120101入库单联想100001000020120101入库单联想20000300002012010... 查询结果类始于下面:
日期 单据类型 往来单位 应付增加 应付减少 应付余额
20120101 入库单 联想 10000 10000
20120101 入库单 联想 20000 30000
20120101 入库单 联想 30000 40000
20120101 付款单 联想 10000 30000

说明:应付余额就是需要加减金额的字段,怎么弄?除开应付余额字段其他字段都是表里面可以查询的到的,谢谢各位大大给我点帮助
展开
 我来答
蝉鸣无声
2013-05-23 · IT,生活,情感,职场人生
蝉鸣无声
采纳数:53 获赞数:96

向TA提问 私信TA
展开全部
select a.*,
(sum(nvl(应付增加,0)) over(order by nvl(应付增加,0)))-
(sum(nvl(应付减少,0)) over(order by nvl(应付减少,0)))
form A ;

其中sum(字段) over(order by 字段),这个是累加求和的。
追问
我是SQL2000的数据库不支持这个
追答
SQL2000我不是很熟悉,但是你这里就是一个累加求和,可以参考http://blog.csdn.net/zhou968/article/details/2493122
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
159159jjj
2013-05-23 · TA获得超过458个赞
知道小有建树答主
回答量:414
采纳率:0%
帮助的人:320万
展开全部
是查询还是更新?
select *, (isnull(应付增加, 0) - isnull(应付减少, 0)) as 应付余额 from 表
追问
是查询,需要把上一行的应付余额做一个累加怎么弄,一行行的结果没有价值,需要一个累加值
追答

这个意思啊,需要知道是按什么排序的,时间么,不排序没法做,私信吧

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6b456f3
2013-05-23 · TA获得超过1255个赞
知道小有建树答主
回答量:1027
采纳率:37%
帮助的人:511万
展开全部
select *,金额表动=应付余额+应付增加-应付减少 from 表
没关注,还是这一句
追问
应付余额是我想增加的字段哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式