2011-06-20 22 views
4

我有三個表StockSummary,Item,ItemSpecification。 在這裏,我想加入這三個表,並得到Sum(StockSummary.Quantity)。 主要列如下:在SQL Server中使用Sum聚合函數進行內部聯接

TableA: StockSummary(ItemID, Quantity) 
TableB: Item(ItemID, ItemName, SpecificationID) 
TableC: ItemSpecification(SpecificationName, SpecificationID) 

期望的結果應該給ITEMNAME,SpecificationName和SUM(數量)。如何在內部聯接中使用聚合函數?

回答

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