如何实现两组数据入库后在数据库自动计算填入第三列

这样的需求,A店一个填报报表填入销售额A,B店一个填报报表填入销售额B,分别填入数据库表格的销售额A和销售额B列,但是数据库中还有一个总销售额,需要在A,B分别填入后汇总A和B,这样的功能怎么实现呢?


目前我在两个销售报表填报里分别引用了对方的销售额,然后求和填入数据库。但是存在的问题就是A和B都在某个时间段打开填报报表,而此时引用对方的数都是0,所以即使求和了也只能是其中一个的销售额,除非是一个提交完,另一个再打开填报才是汇总。


有没有办法分别填入后,在数据库中自动计算呢?

FineReport zhangx172 发布于 2020-5-21 18:20
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
L大大Lv7高级互助
发布于2020-5-21 20:10

数据库里写个触发器

  • zhangx172 zhangx172(提问者) 能个举个简单的例子吗?我的列名分别是“日期”“A”“B”“合计”,FR的两张填报分别填A和B,日期两张表里都有,是主键。现在我数据库添加触发器,选的是“更新”,语句是 UPDATE table SET 合计 = A + B;保存成功。这样我填报时填A提交成功,填B提交就不成功,提示:Can\'t update table \'test\' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
    2020-05-22 15:33 
  • L大大 L大大 回复 zhangx172(提问者) 比如A填完后,填B表的时候,根据主键获取A的值,进行求和 在update一下值
    2020-05-22 16:23 
最佳回答
0
ooshanghaiLv5初级互助
发布于2020-5-21 21:11

兄弟你,这个是个数据问题,不同的DBMS有不同的方式,sqlserver和oracle以及sybase都可以支持计算列,mysql以及postgresql需要你去试试看或者查证一下,

这里是sqlserver的计算列,刚好可以解决你的问题,

image.png

最佳回答
0
meatSteamedLv6见习互助
发布于2020-5-21 22:11

用中间表

  • 4关注人数
  • 744浏览人数
  • 最后回答于:2020-5-21 22:11
    请选择关闭问题的原因
    确定 取消
    返回顶部