我得到一个价格如下的选项列表:(它是按价格 asc 排序的选择查询的结果)
price color quanlity
o_id
1 2 R medium
3 3 G bad
4 4 G good
5 6 B good
2 8 R medium
现在我需要根据要求配对这些选项:
例如,如果我需要 2 R(红色)和 4 G(绿色)
我想返回一个可能的组合列表(按价格升序排序),例如:
R(2) G(4)
c_id o_id o_id total price
1 1 3 16
2 1 4 20
3 2 3 28
4 2 4 32
我目前的解决方案是对数据库进行多次查询:
(我在应用层/后端使用 Java。)
- 选择不同的颜色,并将其存储在列表中
- 在 For 循环中,将每种颜色的选项选择到不同的临时表中
- 加入表列表,并计算总数,按总数排序。
但是有没有办法将上述操作浓缩成一个存储过程或更优雅的东西?