JAVA开发中遇到的问题

实际开发中遇到的问题

1.销售订单,销售订单明细表中的综合总价不一致问题?

最近发现极少数部分的销售订单存在上述问题,最终找了很久才发现是因为主表中的综合总价方式是用(单价乘以数量)乘以(1+安装费率)乘以等相关费率得到,而销售订单明细表中则由综合单价成数量,而综合单价的计算方式同样用单价乘(1+安装费率)乘以等相关费率得到,然后系统的保留位数是两位,则这里就会造成综合单价精度严重丢失,看似对应一个数量只有厘,但是如果数量达到上千就会高达几十金额差距,这个问题不容易被发现。

2.批量更新两表sql语句,有两张表uf_xsxdht 销售订单主表,uf_xsxdht_dt1 销售订单明细表,想要保持销售订单主表中的合同总金额(htzje)与 销售订单明细表中综合总价(zhzj)和的值保持一致?

a.可以首先查找出对应的语句,看出大致有多少条差异

SELECT aa.id,aa.htzje ,bb.totalMoney FROM uf_xsxdht aa left join
(SELECT sum(a.zhzj) totalMoney, a.mainid as mainid FROM uf_xsxdht_dt1 a
 WHERE a.mainid is not null GROUP BY a.mainid) bb on aa.id = bb.mainid 

b.执行update语句

UPDATE uf_xsxdht aa left join
(SELECT sum(a.zhzj) totalMoney, a.mainid as mainid FROM uf_xsxdht_dt1 a
 WHERE a.mainid is not null GROUP BY a.mainid) bb on aa.id = bb.mainid
SET aa.htzje = bb.totalMoney
WHERE bb.mainid is not null

自己的sql语句运用不够灵活,我最初想法是查出所有主表id,然后for循环来替换,需要写代码完成,后面发现并不需要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值