Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何将一个表中的字段链接到另一个表中的字段总和?_Sql Server - Fatal编程技术网

Sql server 如何将一个表中的字段链接到另一个表中的字段总和?

Sql server 如何将一个表中的字段链接到另一个表中的字段总和?,sql-server,Sql Server,请使用Sql Server Items表中的Quantity字段等于Stocks表中Quantity字段的总和。 有没有一种方法可以在中自动执行此操作? 您可以使用索引视图来保存聚合,这意味着每当对基表进行任何修改时,服务器都将维护该视图。这消除了更新异常的可能性 创建查看库存为 选择i.ItemId、i.ItemName、SUM(s.Quantity)TotalQuantity 来自dbo.Items i 在s.ItemId=i.ItemId上加入dbo.s 分组 i、 ItemId,即Ite

请使用Sql Server Items表中的Quantity字段等于Stocks表中Quantity字段的总和。 有没有一种方法可以在中自动执行此操作?

您可以使用索引视图来保存聚合,这意味着每当对基表进行任何修改时,服务器都将维护该视图。这消除了更新异常的可能性

创建查看库存为
选择i.ItemId、i.ItemName、SUM(s.Quantity)TotalQuantity
来自dbo.Items i
在s.ItemId=i.ItemId上加入dbo.s
分组
i、 ItemId,即ItemName;
去
在dbo.vwTotalStock(ItemId)上创建聚集索引IX_vwTotalStock;

Stocks.Quintity可能会导致一些问题……如果我诚实的话,你最好有一个
视图;否则您将需要
触发器
s,或者您可以使用过程来处理所有DML语句,以便它可以相应地调整值。停止,不要这样做。数据应保持无冗余,以避免不一致的可能性。所以把一张表上的总和写到另一张表上并不是一件好事。如果需要求和,可以随时查询并得到正确的结果。为了方便起见,您可以创建一个存储此类查询的视图,这样您就不必每次都重复它。