0
我有两个表相似,这些:SQL SUM错误(总和及乘)
TABLE1
PC Date Num Name ID
8901 01/03/2013 5099 AAA 11
8901 01/03/2013 5099 AAA 11
8901 01/03/2013 5099 AAA 11
8901 02/03/2013 5099 AAA 12
8902 03/03/2013 5099 AAA 13
8903 04/03/2013 5099 AAA 14
TABLE2
PC Date Num Name ID Bar2
8901 01/03/2013 5099 AAA 11 3
8901 01/03/2013 5099 AAA 11 2
8901 01/03/2013 5099 AAA 11 9
8901 02/03/2013 5099 AAA 12 3
8902 03/03/2013 5099 AAA 13 4
8903 04/03/2013 5099 AAA 14 5
而这个查询:
SELECT TABLE1.PC, TABLE1.Date, TABLE1.Num, TABLE1.Name, COUNT(*), SUM(TABLE2.Bar2)
FROM TABLE1, TABLE2
WHERE TABLE1.ID = TABLE2.ID
GROUP BY TABLE1.PC, TABLE1.Date, TABLE1.Num, TABLE1.Name
ORDER BY TABLE1.PC, TABLE1.Date
结果是:
PC Date Num Name COUNT SUM
8901 01/03/2013 0:00 5099 AAA 9 42
8901 02/03/2013 0:00 5099 AAA 1 3
8902 03/03/2013 0:00 5099 AAA 1 4
8903 04/03/2013 0:00 5099 AAA 1 5
因此,它总和,然后它乘以条目的nº((3 + 2 + 9)* 3 = 42)。
我在做什么错? 谢谢!!
为什么你需要加入这些表一起?看起来,您正在进行的求和的列仅在TABLE2中列PC,日期,数字,名称和ID合在一起时是一个UNIQUE键。我假设你在“TABLE2”中有你想要显示的其他信息?如果上面提到的五列是一个UNIQUE键,那么可以在WHERE子句中添加所有这些以消除看起来是您的问题的重复项。 – 2013-04-09 15:02:47