我正在尝试通过MS Access中的SQL语句根据大小标准计算费用。
例如,如果`x< 24,计算数量*费用或如果x> = 24计算数量x AltFee
这是我在Access
中写的Iff语句IIf([Query Testing].[Size]<"24",[Query Testing].[Quantity]*[DepositAndFees].[Fee],IIf([Query Testing].[Size]>="24",[Query Testing].[Quantity]*[DepositAndFees].[AltFee]))
答案 0 :(得分:2)
您的尺寸字段是文本数据类型吗?你有它的引号,它会将它作为一个字符串进行评估。尝试不带引号运行它(假设它是数字类型)
IIf([Query Testing].[Size]<24,[Query Testing].[Quantity]*[DepositAndFees].[Fee],
IIf([Query Testing].[Size]>=24,[Query Testing].[Quantity]*[DepositAndFees].[AltFee]))
答案 1 :(得分:1)
尝试删除值周围的双引号,以便将它们视为数字而不是字符串(文本):
IIf([Query Testing].[Size]<24,[Query Testing].[Quantity]*[DepositAndFees].[Fee],IIf([Query Testing].[Size]>=24,[Query Testing].[Quantity]*[DepositAndFees].[AltFee]))
答案 2 :(得分:0)
不需要第二个IIf,因此可以简化为:
[Query Testing].[Quantity]*IIf([Query Testing].[Size]<24,[DepositAndFees].[Fee],[DepositAndFees].[AltFee])