所以我在Microsoft SQL Server的数据库中有三个表。
该系统是学习的一个例子,它包含表A,这是一个有ID和花在购买东西上的总金额的学校。
表B包含您可以使用ID和价格购买的东西
表C包含所有订单,order_id,school_id,stuff_id和东西数量
我的问题是这个,我必须创建一个触发器,当在表C中插入一个值时,更新所有学校花费的总金额。我无法弄清楚如何做到这一点。特别是因为我必须计算购买的东西的数量。
如果您想像我一样查看sql,可以在此处执行:http://sqlfiddle.com/#!6/265f0
答案 0 :(得分:1)
您想要一个如下所示的查询:
select c.school_id, sum(b.price)
from b join
c
on b.stuff_id = b.stuff_id
group by c.school_id;
你可以使用触发器。但这要复杂得多,因为你必须处理已删除和更新的记录,以及插入它们。