我遇到了这个问题
在此表中,我已为每笔金额注册了相对折扣
Amount Discount
500 5%
1000 10%
1200 11%
2100 15%
... ECC
在另一张表格中我已经获得了2000年订单的总价格,我怎么能找到这个订单的正确折扣?在那种情况下11%,因为2100> 2000年?
答案 0 :(得分:1)
使用top
:
select top 1 Discount
from Discounts
where Amount <= 2000
order by Amount desc
答案 1 :(得分:0)
select discount
from tq84_discount
where amount = (
select max(amount)
from tq84_discount
where amount <= 2000
);
测试数据:
create table tq84_discount (
amount number,
discount number
);
insert into tq84_discount values ( 0, 0);
insert into tq84_discount values (500, 5);
insert into tq84_discount values (100, 10);
insert into tq84_discount values (1200, 11);
insert into tq84_discount values (2100, 15);
答案 2 :(得分:0)
select top 1 Discount
from Discounts
where Amount < GrossPrice
orderby Amount desc
这个简单的查询有效。 GrossPrice是一个变量,它具有来自其他表的值。在这种情况下2000年。