我正在編寫一個查詢,按照產品組來劃分順序值的總和 - 問題是當我添加連接時,聚合SUM得到大大膨脹 - 我假設它是因爲它添加了重複行。林有點新的SQL,但我認爲它是因爲我需要構建具有子選擇或嵌套連接的查詢?當使用連接和組時,sql SUM值不正確
所有數據回報預期,並且我加入拉出需要的數據,但SUM(inv.item_total)AS返回的值要高得多,它應該是 - 低於
SELECT so.Company_id, SUM(inv.item_total) AS Value, co.company_name,
agents.short_desc, stock_type.short_desc AS Type
FROM SORDER as so
JOIN company AS co ON co.company_id = so.company_id
JOIN invoice AS inv ON inv.Sorder_id = so.Sorder_id
JOIN sorder_item AS soitem ON soitem.sorder_id = so.Sorder_id
JOIN STOCK AS stock ON stock.stock_id = soitem.stock_id
JOIN stock_type AS stock_type ON stock_type.stype_id = stock.stype_id
JOIN AGENTS AS AGENTS ON agents.agent_id = co.agent_id
WHERE
co.last_ordered >'01-JAN-2012' and so.Sotype_id='1'
GROUP BY so.Company_id,co.company_name,agents.short_desc, stock_type.short_desc
任何指導做好對SQL我應該如何構造這個查詢來提取一個「未重複的」SUM(inv.item_total)AS Value非常感謝。
我假設一個發票可以有很多訂單項目,而這僅僅是您的重複/通貨膨脹的原因?或者還有其他1:關於你的加入的多種關係? – MatBailie 2012-08-14 18:29:59
我剛剛注意到,在發票和代理之間,你有3張桌子加入進來,但是你從來沒有使用過它們,這是因爲你爲我們簡化了一些東西,還是你可以刪除這三個聯合? – MatBailie 2012-08-14 18:34:27