我有一个查询来计算许多公司及其资产的石油生产效率。目前的查询是资产水平,我需要重新编写它以汇总到公司级别。
以下是代码:
SELECT qb1.CompanyName, qb1.AssetName, qb1.Year,
(((qb1.DefaultOil*1000000)/qb2.MPPOil)*100) AS PEOIL
FROM PE_Field_OIL_GAS AS qb1
INNER JOIN PE_Field_MPPOilRevised AS qb2
ON qb1.Assetname=qb2.AssetName;
它基于计算:
((OIL×1000000)÷MPP原油修订)×100
其中MMPOil是另一个字段中的计算列。
汇总计算的工作原理如下:
(((assetA OIL×1000000)+(assetA OIL×1000000)) ÷(资产A MPP石油修订+资产B MPP石油修订)) ×100
请注意,此查询会输出百分比,因此它不仅仅是汇总所有资产级别数据的情况!任何帮助将不胜感激:))
答案 0 :(得分:0)
您可以对双方进行求和,然后计算百分比,按公司和年份进行分组。如果您不需要年份,请从选择列表和分组列表中删除它。
SELECT qb1.CompanyName, qb1.Year,
(((sum(qb1.DefaultOil)*1000000)/sum(qb2.MPPOil))*100) AS PEOIL
FROM PE_Field_OIL_GAS AS qb1
INNER JOIN PE_Field_MPPOilRevised AS qb2
ON qb1.Assetname=qb2.AssetName
GROUP BY qb1.CompanyName, qb1.Year;