我正在编写一个查询,对按产品组细分的订单值进行求和 - 问题是当我添加连接时,聚合的 SUM 会大大膨胀 - 我认为这是因为它添加了重复的行。我对 SQL 有点陌生,但我认为这是因为我需要使用子选择或嵌套连接来构造查询?
所有数据都按预期返回,我的联接提取了所需的数据,但返回的 SUM(inv.item_total) AS 值远高于应有的值 - 下面的 SQL
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
任何关于我应该如何构造此查询以提取“不重复”的 SUM(inv.item_total) AS 值的指南都非常感谢。