SQL Server 中使用 Sum Aggregate 函数进行内部联接
Posted
技术标签:
【中文标题】SQL Server 中使用 Sum Aggregate 函数进行内部联接【英文标题】:Inner Join with Sum Aggregate function in SQL Server 【发布时间】:2011-09-18 15:58:58 【问题描述】:我有三个表 StockSummary、Item、ItemSpecification。 在这里,我想加入这三个表并获得 Sum(StockSummary.Quantity)。 主要栏目如下:
TableA: StockSummary(ItemID, Quantity)
TableB: Item(ItemID, ItemName, SpecificationID)
TableC: ItemSpecification(SpecificationName, SpecificationID)
所需的结果应该给出 ItemName、SpecificationName 和 SUM(Quantity)。如何在 Inner Joins 中使用 Aggregate 函数?
【问题讨论】:
【参考方案1】:您通过余数聚合所需的列和组,列来自连接结果的事实与您的情况无关;
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
【讨论】:
以上是关于SQL Server 中使用 Sum Aggregate 函数进行内部联接的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server UNION SUM 丢失重复值 [重复]
在 SQL Server 中运行 sum 与在代码中处理 sum 都有哪些性能问题? [关闭]
更新 SQL Server 中 GROUP BY sum() 函数的查询问题 [关闭]