求大佬指点,关于多表联合计算的问题
侧边栏壁纸
  • 累计撰写 113,808 篇文章
  • 累计收到 1 条评论

求大佬指点,关于多表联合计算的问题

点点
2022-11-28 / 7 评论 / 1 阅读 / 正在检测是否收录...

我项目用的springboot+vue,现在的业务需求是:有a b c d(id,min,max,cal_num)四张表: a根据外键id选择获取b中符合的数据,和a中的某列计算(加减乘除),得到sum1;同理,再获取c中的数据计算sum2;之后a再根据前面的数据sum1和sum2,加减乘除得到sum,当sum满足在d中的某一行的min,max范围后,获取cal_num和sum计算,得到我们要的最终值。
此操作涉及到批量操作,批量操作a中的某些行,请问该如何实现:前端,后端,还是数据库函数实现......
对了,前面得到的sum1 sum2 和最终值还要存到另一张表中。
真的求大佬! 在哪一端实现,还有怎么操作,我现在有点懵逼。

我好像没陈述清除,我说仔细一点:
a(aid,av,bid,cid)
b(bid,bv)
c(cid,cv)
d(did,dmin,dmax,dv)
整个的计算方法是:result=(av+avbv+avcv)*dv。
括号里的选择哪个bv、vc,是根据a里面的bid,cid。
而选取哪个dv值,是根据括号里的值判断的,dmin<(av+avbv+avcv)<dmax。
而av,avbv,avcv,result都会存到另一个表。
此操作涉及到批量操作,批量操作a中的某些行。
不知道应该在后端,前端,还是数据库(函数)实现,求大佬指点。

EmperorWS

  1. 肯定在后端做
  2. 你这个计算表关联关系太多,如果不是实时计算的话,建议增加一些中间表,通过定时任务计算一些中间结果入库。然后通过这个中间表计算最终的结果。

犀牛饲养员

0

评论 (7)

取消