【发布时间】:2012-09-19 04:54:58
【问题描述】:
这是我第一次寻求您的帮助,
实际上我必须创建一个查询,并为它做了一个类似的例子。我有两张桌子,
Report (ReportID, Date, headCount)
Production(ProdID, ReportID, Quantity)
我的问题是使用这个查询,我得到一个错误的结果,
SELECT
Report.date,
SUM(Report.HeadCount) AS SumHeadCount,
SUM(Production.Quantity) AS SumQuantity
FROM
Report
INNER JOIN
Production ON Report.ReportID = Production.ReportID
GROUP BY
Date
ORDER BY
Date
我猜有些行被计算了不止一次,你能帮帮我吗?
编辑
如果我运行查询以获取按天分组的总人数,我会得到:
date Headcount
7/2/2012 1843
7/3/2012 1802
7/4/2012 1858
7/5/2012 1904
还有我得到的生产数量:
2012-07-02 8362
2012-07-03 8042
2012-07-04 8272
2012-07-05 9227
但是当我将这两个查询结合起来时,我得到一个错误的查询,我预计在 7 月 2 日 8362 数量对 1843,但我得到:
day TotalHeadcount totalQty
7/2/2012 6021 8362
7/3/2012 7193 8042
7/4/2012 6988 8272
7/5/2012 7197 9227
【问题讨论】:
-
你得到的结果有什么问题?您能否发布一些示例数据和预期结果?
-
@bluefeet - 对于连接引入的每一行,它将多次汇总 Report.HeadCount。
-
@MartinSmith 我同意你的观点,但我希望 OP 澄清结果的问题所在。越详细越好。 :)
标签: sql sql-server-2008 join sum