Sql 我的IIF声明有什么问题我一直收到错误 选择描述作为食物, 价格, 涨价 iif(价格上涨/价格0.15,“高于15%的涨幅”。) 来自l_食品公司 其中(涨价/价格) .15 按描述排序;
Sql 我的IIF声明有什么问题我一直收到错误 选择描述作为食物, 价格, 涨价 iif(价格上涨/价格0.15,“高于15%的涨幅”。) 来自l_食品公司 其中(涨价/价格) .15 按描述排序;,sql,ms-access,Sql,Ms Access,我在完成这份声明时遇到了困难。我的iif语句不断给我错误问题是前一行缺少逗号,而WHERE子句中有多余的逗号 我应该注意,您也可以使用switch(): 选择描述为食品、价格、涨价、, 开关(涨价0.15*价格, “超过15%的增长” ) 来自l_食品公司 如果价格上涨0.15*价格 按描述排序; 注: 我在小数点前加了一个0,这样小数点更容易阅读 我更喜欢乘法而不是除法,因为出错的危险很小(我想可能会有溢出错误,但这比被零除的可能性要小得多) switch()可以,因为您不需要默认选项。w
我在完成这份声明时遇到了困难。我的iif语句不断给我错误问题是前一行缺少逗号,而
WHERE
子句中有多余的逗号
我应该注意,您也可以使用switch()
:
选择描述为食品、价格、涨价、,
开关(涨价<0.10*涨价或涨价为空,
“增幅低于10%,
价格涨幅>0.15*价格,
“超过15%的增长”
)
来自l_食品公司
如果价格上涨<0.10*价格或
涨价为空或
价格涨幅>0.15*价格
按描述排序;
注:
- 我在小数点前加了一个
,这样小数点更容易阅读0
- 我更喜欢乘法而不是除法,因为出错的危险很小(我想可能会有溢出错误,但这比被零除的可能性要小得多)
可以,因为您不需要默认选项。switch()
子句过滤掉这些内容where
WHERE
子句中有多余的逗号
我应该注意,您也可以使用switch()
:
选择描述为食品、价格、涨价、,
开关(涨价<0.10*涨价或涨价为空,
“增幅低于10%,
价格涨幅>0.15*价格,
“超过15%的增长”
)
来自l_食品公司
如果价格上涨<0.10*价格或
涨价为空或
价格涨幅>0.15*价格
按描述排序;
注:
- 我在小数点前加了一个
,这样小数点更容易阅读0
- 我更喜欢乘法而不是除法,因为出错的危险很小(我想可能会有溢出错误,但这比被零除的可能性要小得多)
可以,因为您不需要默认选项。switch()
子句过滤掉这些内容where
SELECT description as FOOD,
price,
price_increase
iif( price_increase/price < .10 or price_increase is null, 'Less than 10% Increase',
iif(price_increase/price > .15 , 'Greater that 15% increase ', ' ' ) )
from l_foods
where (price_increase/price) < .10 or price_increase is null, or (price_increase/price)
> .15
order by description;
select description as FOOD, price, price_increase,
switch(price_increase < 0.10 * price or price_increase is null,
'Less than 10% Increase',
price_increase > 0.15 * price,
'Greater that 15% increase '
)
from l_foods
where price_increase < 0.10 * price or
price_increase is null or
price_increase > 0.15 * price
order by description;