Sql 我将如何在MS Access查询中写入此内容?

Sql 我将如何在MS Access查询中写入此内容?,sql,ms-access,if-statement,Sql,Ms Access,If Statement,下面是我如何用C写的 if(x < 50 && x < 0.125y) { return 0; } else if(x < 50 && x >= 0.125y) { if(z >= 2a) { return 50; } } else return b; if(x=2a,50,”),b)) 我相信就是这样。让我知道。如果我正确理解了你的I

下面是我如何用C写的

if(x < 50 && x < 0.125y)
    {
    return 0;
    }
else if(x < 50 && x >= 0.125y)
    {
    if(z >= 2a)
        {
        return 50;
        }
    }
else return b;
if(x<50&&x<0.125y)
{
返回0;
}
如果(x<50&&x>=0.125y),则为else
{
如果(z>=2a)
{
返回50;
}
}
否则返回b;
这是我的尝试,它只是一堆嵌套的如果

IIf(([Est_Order_Qty]<50) And ([Est_Order_Qty]<0.125*[Quantity On Hand]),"0",IIf(([Est_Order_Qty]<50) And ([Est_Order_Qty]>=0.125*[Quantity On Hand]),IIf([Est_Order_Qty]<2*[Qty],"50",[Rounded_To_50])))

IIf(([Est\u Order\u Qty]如果我正确理解了你的If语句,那么我的答案是:

    iif(x < 50 And x > 0.125y, "0", iif(x < 50 And x >= 0.125y, iif(2 >= 2a, 50, ""), b))
iif(x<50和x>0.125y,“0”,iif(x<50和x>=0.125y,iif(2>=2a,50,”),b))

我相信就是这样。让我知道。

如果我正确理解了你的If语句,那么我的答案是:

    iif(x < 50 And x > 0.125y, "0", iif(x < 50 And x >= 0.125y, iif(2 >= 2a, 50, ""), b))
IIF((x < 50) AND (x < 0.125 * y), 0,
    IIF((x < 50) AND (x >= 0.125 * y) AND (z >= 2 * a), 50,
       b)
iif(x<50和x>0.125y,“0”,iif(x<50和x>=0.125y,iif(2>=2a,50,”),b))
我相信就是这样。让我知道。

IIF((x<50)和(x<0.125*y),0,
IIF((x < 50) AND (x < 0.125 * y), 0,
    IIF((x < 50) AND (x >= 0.125 * y) AND (z >= 2 * a), 50,
       b)
IIF((x<50)和(x>=0.125*y)和(z>=2*a),50, (b)
还是你的尝试

IIf(([Est_Order_Qty] < 50) And 
    ([Est_Order_Qty] < 0.125 * [Quantity On Hand]), "0",
    IIf(([Est_Order_Qty] < 50) And 
        ([Est_Order_Qty] >= 0.125 * [Quantity On Hand]),
        IIf([Est_Order_Qty] < 2 * [Qty], "50", [Rounded_To_50]),
        [Rounded_To_50])
)
IIf([Est订单数量]<50)和
([Est_订单数量]<0.125*[U现存量],“0”,
IIf([预计订单数量]<50)和
([Est_订单数量]>=0.125*[现存数量]),
IIf([预计订单数量]<2*[数量],“50”,[四舍五入到50]),
[四舍五入至50])
)
IIF((x<50)和(x<0.125*y),0,
IIF((x<50)和(x>=0.125*y)和(z>=2*a),50,
(b)
还是你的尝试

IIf(([Est_Order_Qty] < 50) And 
    ([Est_Order_Qty] < 0.125 * [Quantity On Hand]), "0",
    IIf(([Est_Order_Qty] < 50) And 
        ([Est_Order_Qty] >= 0.125 * [Quantity On Hand]),
        IIf([Est_Order_Qty] < 2 * [Qty], "50", [Rounded_To_50]),
        [Rounded_To_50])
)
IIf([Est订单数量]<50)和
([Est_订单数量]<0.125*[U现存量],“0”,
IIf([预计订单数量]<50)和
([Est_订单数量]>=0.125*[现存数量]),
IIf([预计订单数量]<2*[数量],“50”,[四舍五入到50]),
[四舍五入至50])
)
试试看

开关(
x<50和x<0.125y,0,
x<50和x>=0.125y和z>=2a,50,
对,b)
试试看

开关(
x<50和x<0.125y,0,
x<50和x>=0.125y和z>=2a,50,
对,b)

只有当
x=0.125y
时,才会输入第二个if,因为第一个if中已经满足了其他条件。这就是我在回答中对它的解释。
>0.125y
=0.125y
正确吗?Crud。第一个if应该是x<0.125y,第二个if应该是x>=0.125y。您的第二个if只会被输入d if
x=0.125y
,因为在第一个if中已经满足了另一个条件。这就是我在我的答案中对它的解释。
>0.125y
=0.125y
正确吗?Crud。第一个应该是x<0.125y,第二个是x>=0.125y。对不起,我的意思是第一个应该是x<0.125y,第二个是Isx>=0.125y。你的解决方案仍然适用吗?我不这么认为。考虑到这一点,让我再试一次,我会更新它。iif(x<50和x<0.125y,“0”,iif(x<50和x>=0.125y,iif(2>=2a,50,”),b))是我再次尝试时得到的。让我知道你得到了什么。而不是我放的“”因为我希望它不返回任何内容。对不起,我的意思是第一个应该是x<0.125y,第二个应该是x>=0.125y。您的解决方案仍然适用吗?我不这么认为。考虑到这一点,让我再试一次,我会更新它。iif(x<50和x<0.125y,“0”,iif(x<50和x>=0.125y,iif(2>=2a,50,“”),b))这是我再次尝试时得到的结果。让我知道你得到了什么。并不是因为我想让它什么都不返回,所以我放了“”。谢谢!最上面的代码起作用了。我想你在最后忘了一个括号:)谢谢所有其他人的精彩答案。谢谢!最上面的代码起作用了。我想你在最后忘了一个括号:)谢谢所有其他人的精彩回答。