SQL Server - 计算来自不同表的列总和

标签 sql sum calculated-columns

我有两个表(ItemsItem_Types),我想在 Item_Types< 中的计算列中执行类似以下操作的公式 表:

SELECT SUM(Items.Qty_In_Stock) FROM Items WHERE Items.Item_Type = Item_Types.ID

但 Management Studio 不喜欢它。

我该怎么做?或者我的语法错误?我不太擅长 SQL。

谢谢

编辑:我认为我需要更具体。

一个ItemType可以有许多Items

每个Item都有一个Qty_In_Stock字段。

我想获得所有Qty_In_Stock字段的总和其中Items.Item_Type = Item_Types.ID -不仅仅是整列的总和。

干杯

最佳答案

假设您尝试显示每种商品类型的可用数量: 我建议创建一个显示此信息的 View :
您将需要“GROUP BY”项目类型。

CREATE VIEW Item_Types_Qty_In_Stock
AS

SELECT it.ID, SUM(i.Qty_In_Stock) AS QtyInStock FROM Items i
INNER JOIN Item_Types it ON i.Item_Type = it.ID 
GROUP BY it.ID
GO

创建 View 后,您可以像查询表一样查询它:

SELECT * FROM Item_Types_Qty_In_Stock

关于SQL Server - 计算来自不同表的列总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5493290/

相关文章:

mysql - 根据另一个表字段对一个表字段求和

Excel VBA : how to check for calculated column?

sql-server - SQL Server - 计算列上的索引?

mysql - 如何使用 MySQL 查询两个日期之间的数据?

c++ - SqlDataAdapter 未加载数据表 - C++

linq - 如果求和值全部为空,如何使 linq Sum 返回空

SQL GROUP_CONCAT + SUM + AVG

awk - 使用 awk 计算从第 2 列派生的第 1 列的百分比并将其添加到第 3 列

c# - 如何为 SQL 查询编写自动化测试?

c# - LINQ-to-SQL - 不能将空值分配给具有类型的成员