我在MySQL中有一个定价查找表,在这里我需要根据交易数量查找正确的定价。
例如,我有一个定价表pricing,如下所示:
product quantity price
prod1 1 4
prod1 10 3
prod1 100 2
prod1 1000 1
prod2 1 0.4
...我有一个名为transaction的表,其中包含销售数据:
product sales
prod1 144
prod2 2
...怎样才能使销售量乘以按数量计算的正确单价。类似的事情:
product sales quantity unitPrice
prod1 144 100 2
prod2....我试着把两张桌子连在一起,但不知道从那里往哪里走。
发布于 2015-07-01 22:43:20
获取价格的一种方法是使用相关子查询:
select t.*,
(select p.price
from pricing p
where p.product = t.product and p.quantity >= t.quantity
order by p.quantity
limit 1
) as price
from transaction t;类似的子查询可用于获取其他信息,如定价层。
为了提高性能,您需要pricing(product, quantity)上的索引。
https://stackoverflow.com/questions/31172851
复制相似问题