如何将SQL中的一张表中的几行数据相加实时更新到这张表中的另一行中 30
表gl_dept中有字段deptno,ac_code,de_ap01,de_ap02,如何能实现下图中的第二行中的de_ap01,de_ap02字段值等于第3,4行相应的...
表gl_dept中有字段deptno,ac_code,de_ap01,de_ap02 ,如何能实现下图中的第二行中的de_ap01,de_ap02字段值等于第3,4行相应的字段值之和。第三行和第四行中的de_ap01,de_ap02字段值随时都有可能变动,所以第二行相应的值也要随时更新。
展开
2个回答
展开全部
如果是一张内的两个数据相加,那么可以设置计算列。在建立表的时候定义某一列是其他列的相加结果即可。
如果是两张表,可以使用触发器,在需要相加的列的那个表上对insert和update做触发。
我觉得应该是第一种吧。
至于怎么写计算列。看看这个https://msdn.microsoft.com/zh-cn/library/ms191250.aspx
再看了下你的问题,发现很奇怪……数据库中建立表的时候就不允许出现某列包含子列。你这样是违背范式的。
如果是两张表,可以使用触发器,在需要相加的列的那个表上对insert和update做触发。
我觉得应该是第一种吧。
至于怎么写计算列。看看这个https://msdn.microsoft.com/zh-cn/library/ms191250.aspx
再看了下你的问题,发现很奇怪……数据库中建立表的时候就不允许出现某列包含子列。你这样是违背范式的。
展开全部
写个触发器
nsert into 表B(材料,名称,规格,入库数量,库存总金额) select 材料,名称,规格,sum(入库数量),sum(总金额) from 表A group by 材料,名称,规格
--如果有过滤条件再在group by 语句后面加上where...
nsert into 表B(材料,名称,规格,入库数量,库存总金额) select 材料,名称,规格,sum(入库数量),sum(总金额) from 表A group by 材料,名称,规格
--如果有过滤条件再在group by 语句后面加上where...
追问
你这语句只能用一次,没法实现实时更新呀。明细行的数据随便会变更的,而且我这是在一张表里操作,你弄的是两张表。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |