2012-12-15 45 views
1

我需要一些幫助,這SQL加入..連接表找到SUM

我有一個表「銷售」,這樣看

date  idpart 
1311316400 5 
1321316400 6 
1341216400 7 
1351516400 8 

和一表「的部分」這樣看

idpart name inprice outprice 
5  a  10  40 
6  b  20  55 
7  c  20  55 
8  d  20  55 

現在我想找到所有partsales之間的總和用戶通過做這樣的事情給定日期A和日期B,:

SELECT idpart, SUM(inprice) 
FROM parts, sales 
WHERE parts.idpart = sales.idpart 
GROUP BY idpart 
LIMIT 0 , 30 

但是通過這樣做,我得到了每個零件在銷售表中的每個時間的inprice值。 我想總的A和B之間 整個期間我不知道,我應該插入:一個SQL初學者

WHERE date BETWEEN A AND B 

任何提示?

回答

3

如果我收到了你的問題的權利,那麼你可以使用關鍵字AND結合您的條件:

SELECT SUM(inprice) 
FROM parts, sales 
WHERE parts.idpart = sales.idpart 
AND sales.date BETWEEN A AND B 
LIMIT 0 , 30 

爲了更好的可讀性,總是用「新」 JOIN -syntax。一旦你的查詢變得更加複雜,這使得它更容易理解你的查詢:

SELECT SUM(parts.inprice) 
FROM sales 
JOIN parts ON (parts.idpart = sales.idpart) 
WHERE sales.date BETWEEN a AND b 
LIMIT 0, 30 
+0

感謝您的回答,但我仍然得到銷售表中每個idpart的總和。我試圖在給定的時期內總共獲得所有部分的價格總和:( – kincaid

+0

對不起,請查看我編輯的答案。 –

+0

謝謝:)那就像一個魅力:) – kincaid