2015-04-15 28 views
0

我有2个表:如何我从另一列在另一个表中创建由聚合数据派生列

Book(Name,quantity,supplier) 
SuppliedBy (supplier,quantity) 

我想在SuppliedBy表中的数量的由供应商提供的书籍等于总和,所以我写了一套说明

update supplier 
set supplier.quantity = (select quantity 
         from (select sum(quantity) as quantity, SuppliedBy 
           from book group by SuppliedBy) a 
         where a.SuppliedBy = supplier.SuppliedBy) 

但是我想在添加新书时自动更新SuppliedBy中的数量值。请帮忙

回答

0

我觉得你需要创建一个在book表上插入触发器来更新supliedBy表中的值。

+0

我尝试这样做:对书 FOR EACH ROW更新后CREATE TRIGGER quantity_Trigger从BEGIN 更新供应商 组supplier.quantity =(选择数量 (从由SuppliedBy书组总和(数量)作为数量,SuppliedBy ) a 其中a.SuppliedBy = supplier.SuppliedBy) END GO我在添加书时没有改变,不知道是否出现错误 –

+0

我认为您应该在插入触发器后创建,而不是在更新后创建。如果我是正确的,请接受答案:)。 – Raishul

相关问题