我有這些SQL表如何獲得每個唯一'列'的SUM()?
供應商
SUPPLIERID | SUPPLIERNAME
1 | sup1
2 | sup2
3 | sup3
銷售
ITEMID | SOLD | SUPPLIER ID | DATE
pen | 10 | 1 | 2011-10-21
pen | 5 | 1 | 2011-10-22
pen | 5 | 1 | 2011-10-23
pen | 20 | 3 | 2011-10-24
買我目前使用這個腳本
ITEMID | BOUGHT | SUPPLIER ID | DATE
pen | 20 | 1 | 2011-9-21
pen | 5 | 3 | 2011-9-24
,但它似乎不工作因爲銷售和購買的SUM()
增加了三倍。我懷疑是因爲有3排已售出,但只有2排已售出。任何想法如何解決這個問題?
SELECT suppliername, SUM(sold) as sold, SUM(bought) AS bought
FROM sold s
LEFT JOIN supplier sp
ON s.supplierid = sp.supplierid
LEFT JOIN bought b
ON sp.supplierid = b.supplierid
GROUP BY suppliername
它的工作原理,謝謝!請問你能否解釋你剛剛做了什麼以及「衍生」表格是什麼意思?當我試圖刪除s&b時,我得到了這個錯誤。 – JohnSmith
@JohnSmith - 好的,對不起,我添加了一個解釋,希望它有幫助 – Lamak
感謝您的解釋。我開始明白了。最後一個問題。我試着在SOLD派生查詢中包含日期以及頂級SELECT語句,並且當我在SQL中執行它時,我獲得了一個NULL值。我究竟做錯了什麼? – JohnSmith