如何使用group by子句在2个不同的表列之间进行乘法运算?

时间:2019-02-10 14:39:37

标签: sql postgresql

我整天都尝试了,但没有得到结果。请浏览以下链接上的图片

Here is my table 1 structure

and here is my table 2 structure

我想将第一个表中的product_uom_qty与第二个表中的成本相乘,然后按有两个表的product_id对其进行分组。

这是我的查询。

select sum(sale_order_line.product_uom_qty) * product_price_history.cost 
from sale_order_line, product_price_history
group by product_id;

我得到的结果是

  

错误:列引用“ product_id”不明确。第1行:... m   sale_order_line,product_price_history按product_id分组...

请告诉我我在哪里犯错。

1 个答案:

答案 0 :(得分:0)

大概,您想要这样的东西:

select product_id, sum(sol.product_uom_qty * pph.cost)
from sale_order_line sol join
     product_price_history pph
     using (product_id)
group by product_id;

也就是说,您需要在某种条件下联接表。

没有样本数据和预期结果,不清楚您真正想要的是什么。但这至少是一个明智的查询,可以消除语法错误。