度量快速开发平台-专业、快速的软件定制快开平台
标题:
oracle数据列相同的,怎么合并列,并进行减法运算
[打印本页]
作者:
caixuqad
时间:
2020-5-8 17:07
作者:
caixuqad
时间:
2020-5-9 17:16
作者:
caixuqad
时间:
2020-5-15 17:33
作者:
陈晓龙
时间:
2020-6-18 15:22
标题:
oracle数据列相同的,怎么合并列,并进行减法运算
下面是俺写的sql语句,望大神解答!
---------------------------------------------------------------------------------------------------
--挂账金额=费用总额-优惠金额-实收金额
--毛利=费用总额-优惠金额-工时费-进价
select a.业务编号,
a.制单日期,
a.车主,
a.车牌号码,
b.费用总额,
b.工时费,
b.配件费 材料费,
sum(b.优惠金额)优惠金额,
sum(b.实收金额) 实收金额,
sum(b.进价) 材料成本,
--挂账金额=费用总额-优惠金额-实收金额
b.费用总额 - nvl(b.优惠金额, 0) - nvl(b.实收金额, 0) 挂账金额,
--毛利=费用总额-优惠金额-工时费-进价
b.费用总额 - nvl(b.优惠金额, 0) - nvl(b.工时费, 0) - nvl(sum(b.进价), 0) 毛利
from S4_前台接车 a, S4_维修结算 b
where a.id = b.项目id
group by a.业务编号,
a.制单日期,
a.车牌号码,
a.车主,
b.费用总额,
b.工时费,
b.配件费,
b.优惠金额,
b.实收金额,
b.进价
QQ图片20150818151417.png
(20.42 KB, 下载次数: 169)
下载附件
保存到相册
2020-6-18 15:16 上传
作者:
暴打手机
时间:
2020-6-18 15:36
再在外面套一层select
select 要显示的字段, max(费用总额)-sum(实收金额)-max(优惠金额) as 挂账金额 ,max(费用总额)-max(优惠金额)-max(工时费)-max(进价) 毛利 from (select a.业务编号,
a.制单日期,
a.车主,
a.车牌号码,
b.费用总额,
b.工时费,
b.配件费 材料费,
sum(b.优惠金额)优惠金额,
sum(b.实收金额) 实收金额,
sum(b.进价) 材料成本,
--挂账金额=费用总额-优惠金额-实收金额
b.费用总额 - nvl(b.优惠金额, 0) - nvl(b.实收金额, 0) 挂账金额,
--毛利=费用总额-优惠金额-工时费-进价
b.费用总额 - nvl(b.优惠金额, 0) - nvl(b.工时费, 0) - nvl(sum(b.进价), 0) 毛利
from S4_前台接车 a, S4_维修结算 b
where a.id = b.项目id
group by a.业务编号,
a.制单日期,
a.车牌号码,
a.车主,
b.费用总额,
b.工时费,
b.配件费,
b.优惠金额,
b.实收金额,
b.进价) group by 要显示的字段
作者:
陈晓龙
时间:
2020-6-18 16:38
完美的解答了俺的问题!
欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/)
Powered by Discuz! X3.2