在SQL Server中使用Sum Aggregate函数进行内部联接

the*_*van 4 sql sql-server-2005 sum inner-join aggregate-functions

我有三个表StockSummary,Item,ItemSpecification.在这里,我想加入这三个表并获得Sum(StockSummary.Quantity).主要栏目如下:

TableA: StockSummary(ItemID, Quantity)
TableB: Item(ItemID, ItemName, SpecificationID)
TableC: ItemSpecification(SpecificationName, SpecificationID)
Run Code Online (Sandbox Code Playgroud)

期望的结果应该给出ItemName,SpecificationName和SUM(Quantity).如何在Inner Joins中使用Aggregate函数?

Ale*_* K. 6

您可以通过余数聚合所需的列和组,这些列来自连接的结果与您的情况无关;

select
   b.ItemName,
   c.SpecificationName,
   sum(a.Quantity)
from
   tablea a
   inner join tableb b on b.ItemID = a.ItemID
   inner join tablec c on c.SpecificationID = b.SpecificationID
group by
   b.ItemName,
   c.SpecificationName
Run Code Online (Sandbox Code Playgroud)