SQL IF语句,具有3个可选项

SQL IF语句,具有3个可选项,sql,if-statement,ms-access-2010,calculated-columns,Sql,If Statement,Ms Access 2010,Calculated Columns,嘿,伙计们,我真的需要一些帮助来编写这个IF语句!我设法适应了其中两个条件,但不确定第三个条件(计算)如何适应。这是伪代码中的计算 IF Producer_Type = 'Oil', Unallocated OIL&GAS = UnallocatedLossesOIL IF Producer_Type = 'Gas', Unallocated OIL&GAS = UnallocatedLossesGAS ELSE Unallocated OIL GAS = Unallocated

嘿,伙计们,我真的需要一些帮助来编写这个IF语句!我设法适应了其中两个条件,但不确定第三个条件(计算)如何适应。这是伪代码中的计算

IF Producer_Type = 'Oil', Unallocated OIL&GAS = UnallocatedLossesOIL
IF Producer_Type = 'Gas', Unallocated OIL&GAS = UnallocatedLossesGAS
ELSE Unallocated OIL GAS = UnallocatedLossesOIL(MPPOil ÷ (MPPOil + MPPGas)) + 
UnallocatedLossesGAS(MPPGas ÷ (MPPOil + MPPGas))
这是我的代码:

SELECT qb1.CompanyName, qb1.AssetName, qb1.Year, 
IIf(qb1.Producer_Type='Oil',qb1.DatapointValue, qb2.DatapointValue) AS UnallocatedOilGas
FROM PEBaseQuery AS qb1 INNER JOIN PEBaseQuery AS qb2 ON qb1.Assetname=qb2.AssetName
WHERE qb1.DatapointID=2026 And qb2.DatapointID=2027;

其中,2026年的数据点ID为UnallocatedLossesOIL,2027年的数据点ID为UnallocatedLossesGAS。计算需要参考MPPOil和MPPGas值(与特定的公司/资产/年份相关,这些公司/资产/年份是两个独立查询的结果…任何帮助都将不胜感激!抱歉,如果其中一些没有意义..

如何嵌套if条件?我的意思是,如果可能,这应该可以工作:

SELECT qb1.CompanyName, qb1.AssetName, qb1.Year, 
IIf(qb1.Producer_Type='Oil', qb1.DatapointValue, 
  IIF(qb1.Producer_Type='Gas', qb2.DatapointValue,
   qb1.DatapointValue * (MPPOil / (MPPOil + MPPGas)) + 
   qb2.DatapointValue * (MPPGas / (MPPOil + MPPGas)) )) AS UnallocatedOilGas
FROM PEBaseQuery AS qb1 INNER JOIN PEBaseQuery AS qb2 ON qb1.Assetname=qb2.AssetName
WHERE qb1.DatapointID=2026 And qb2.DatapointID=2027;
关于
MPPGas
MPPOil
的值,我不确定在哪里可以找到它们,所以保留它们。
我希望这能起作用。

未分配的lossesil
函数,还是您打算让它与括号相邻以表示乘法?+1我认为
情况可能更清楚,不确定Access是否支持这一点