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