日期:2014-05-17  浏览次数:20406 次

请帮我看看这句SQL语句怎么改?
alter table Storage_kc add outQuantity as (SELECT SUM(Quantity_ck) FROM (SELECT Quantity_ck FROM ck1_ls UNION ALL SELECT Quantity_ck FROM ck2_sp UNION ALL SELECT Quantity_ck FROM ck3_jz ))

我是想在Storage_kc这个表中,加一个'自动求和的字段','自动求和的字段'来源于同个数据库的3个表ck1_ls,ck2_sp,ck3_jz,这三个表有相同的数量字段Quantity_ck.
请问我应该怎么做,以上的代码是我乱写的,可能门都没有摸到,反正上面的代码是错的,请朋友们指点我一下.

------解决方案--------------------
自己手动求出来和,然后更新一下表
------解决方案--------------------
1)可以用触发器
2)可以写过程同时操作
3)也可以不做汇总,查询的时候在汇总
------解决方案--------------------
列出表结构,这样实在看不明白你什么意思。
------解决方案--------------------
create function f_All()
returns int 
as 
begin
      declare @s int
      SELECT @s=SUM(Quantity_ck) FROM 
      (SELECT Quantity_ck FROM ck1_ls UNION ALL 
       SELECT Quantity_ck FROM ck2_sp UNION ALL 
       SELECT Quantity_ck FROM ck3_jz ) aa
      return @s
end
go
alter table Storage_kc add outQuantity as dbo.F_ALL()

------解决方案--------------------
计算列是不是复杂了点啊,建议在页面展示的时候做合计

------解决方案--------------------
引用:
create function f_All()
returns int 
as 
begin
      declare @s int
      SELECT @s=SUM(Quantity_ck) FROM 
      (SELECT Quantity_ck FROM ck1_ls UNION ALL 
       SELECT Quantity_ck FROM ck2_sp UNION ALL 
       SELECT Quantity_ck FROM ck3_jz ) aa
      return @s
end
go
alter table Storage_kc add outQuantity as dbo.F_ALL()

+1