SQL 另一个 table 中数据总和的计算列
SQL computed column for sum of data in another table
我有两个 table:
DiskUsage Table StatisticsTable
Server DiskUsage(GB) Total Disk Usage xxxx
1 10
2 212
3 11
我需要将 "Total Disk Usage" 创建为一个列,用于计算 "DiskUsage"
列的总和。这需要是动态的,因为更多的服务器将超时添加到 "DiskUsage"
table.
我对此进行了一些研究 - 我相信计算列是实现此目的的最简单方法,但我不确定如何 a)。参考其他 tables 数据或 b)。动态获取该列的总数。
创建 trigger
CREATE TRIGGER test
ON DiskUsage
after INSERT, UPDATE
AS
BEGIN
UPDATE StatisticsTable
SET TotalDiskUsage = (SELECT Sum(DiskUsage)
FROM DiskUsage)
END
或者如 King.code 所述,创建视图而不是 table
CREATE VIEW StatisticsTable
AS
SELECT Sum(DiskUsage)
FROM DiskUsage
仅 运行 个查询有什么问题?
select sum(diskusage)
from diskusage;
这看起来很简单,除非您有数百万行,否则性能应该相当快。
我有两个 table:
DiskUsage Table StatisticsTable
Server DiskUsage(GB) Total Disk Usage xxxx
1 10
2 212
3 11
我需要将 "Total Disk Usage" 创建为一个列,用于计算 "DiskUsage"
列的总和。这需要是动态的,因为更多的服务器将超时添加到 "DiskUsage"
table.
我对此进行了一些研究 - 我相信计算列是实现此目的的最简单方法,但我不确定如何 a)。参考其他 tables 数据或 b)。动态获取该列的总数。
创建 trigger
CREATE TRIGGER test
ON DiskUsage
after INSERT, UPDATE
AS
BEGIN
UPDATE StatisticsTable
SET TotalDiskUsage = (SELECT Sum(DiskUsage)
FROM DiskUsage)
END
或者如 King.code 所述,创建视图而不是 table
CREATE VIEW StatisticsTable
AS
SELECT Sum(DiskUsage)
FROM DiskUsage
仅 运行 个查询有什么问题?
select sum(diskusage)
from diskusage;
这看起来很简单,除非您有数百万行,否则性能应该相当快。