我们需要计算每个产品的碳足迹。碳足迹基本上是每个元素的碳足迹与组成给定产品的每个元素的百分比之和。
下面的代码是我们目前所拥有的,但它不起作用,我们还尝试使用sum(e.carbonfootprint*c.percentage/100)
SELECT p.name, e.carbonfootPrint * c.percentage/100 AS CarbonFootprintProdut
FROM Produt p, Element e, composed c, Brand b
WHERE p.tipo = 'lar'
AND c.produt = p.code
AND c.ProdBrand = m.number
AND c.element = e.code;
最佳答案
不要在FROM
子句中使用逗号。始终使用正确、明确的JOIN
语法。
SELECT p.name,
SUM(e.carbonfootPrint * c.percentage)/100 AS CarbonFootprintProdut
FROM Produt p JOIN
Element e
ON c.element = e.code JOIN
composed c
ON c.produt = p.code
WHERE p.tipo = 'lar'
GROUP BY p.name;
笔记:
brand
表没有使用,所以我删除了它。你需要聚合产品,这样你就得到了整个产品的总数。
你需要一个
GROUP BY
。使用正确的
JOIN
语法。