我有一张表格如下:
promo_code | minimum_order | discount
------------+-------------------+-------------
100 | 10 | 10%
100 | 20 | 15%
100 | 30 | 20%
101 | 13 | 7%
102 | 8 | 10%
102 | 12 | 14%
在另一张表中,我有数量的销售额和符合条件的促销活动
sales | promo_eligibility | record_id
--------+-----------------------+-------------
14 | 100 | 1000
7 | 101 | 1001
25 | 102 | 1002
我需要获得与销量和促销相对应的折扣......
如上例所示:
record_id | discount | Comments
------------+---------------+--------------
1000 | 15% | (bigger than 10 and lower than 20)
1001 | 0% | (did not reached the minimum)
1002 | 14% |
阈值的数量可以在0到3之间变化
有什么想法吗?
谢谢!
答案 0 :(得分:0)
这样的事情:
select
r.record_id,
isnull(d.discount, '0%')
from records r
outer apply (
select top 1 discount
from discounts d
where d.promo_code = r.promo_eligibility
and d.minimum_order <= r.sales)