数据库中所有表的特定列的总和

时间:2016-03-14 00:24:27

标签: sql sql-server tsql

我有多个表,例如1月,2月等等。每个月都有一栏“利润”。我可以通过以下方式轻松找到每个月的总利润:

select sum(profit) from January

但是,让我们说我想要一个自动计算每个月总利润的表/视图。有没有办法为我计算该特定数据库中的所有表格?

此外,如果我更新任何行,它会自动更新视图/表。这很容易做到。

任何提示?显然,每月总和的连接子句不会有帮助。

1 个答案:

答案 0 :(得分:1)

如果您想获得每月的总利润,则可以创建view以使用union all来获取结果。

select *
from (
   select sum(profit) profit, 'January' mnth from January
   union all
   select sum(profit) profit, 'February' mnth from February
   union all
   select sum(profit) profit, 'March' mnth from March
   ...
   select sum(profit) profit, 'December' mnth from December
) t

要考虑的一件事是,将月度数据存储在单独的表中可能不是最好的主意。一般来说,这可以改为更标准化的方法。