如何将SQL中的一张表中的几行数据相加实时更新到这张表中的另一行中

表gl_dept中有字段deptno,ac_code,de_ap01,de_ap02 ,如何能实现下图中的第二行中的de_ap01,de_ap02字段值等于第3,4行相应的字段值之和。第三行和第四行中的de_ap01,de_ap02字段值随时都有可能变动,所以第二行相应的值也要随时更新。

如果是一张内的两个数据相加,那么可以设置计算列。在建立表的时候定义某一列是其他列的相加结果即可。
如果是两张表,可以使用触发器,在需要相加的列的那个表上对insert和update做触发。
我觉得应该是第一种吧。
至于怎么写计算列。看看这个https://msdn.microsoft.com/zh-cn/library/ms191250.aspx

再看了下你的问题,发现很奇怪……数据库中建立表的时候就不允许出现某列包含子列。你这样是违背范式的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-03-10
写个触发器

nsert into 表B(材料,名称,规格,入库数量,库存总金额) select 材料,名称,规格,sum(入库数量),sum(总金额) from 表A group by 材料,名称,规格
--如果有过滤条件再在group by 语句后面加上where...追问

你这语句只能用一次,没法实现实时更新呀。明细行的数据随便会变更的,而且我这是在一张表里操作,你弄的是两张表。

相似回答