次のような価格のオプションのリストが表示されます:(これは、価格ascで並べ替えたselectクエリの結果です)
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
これに対する私の現在の解決策は、DBに対して複数のクエリを実行することです。
(私はアプリケーション層/バックエンドでJavaを使用しています。)
- 異なる色を選択し、リストに保存します
- Forループで、各色のオプションを異なる温度テーブルに選択します
- テーブルのリストに参加し、合計を計算し、合計で並べ替えます。
しかし、上記の操作をストアドプロシージャまたはより洗練されたものに凝縮する方法はありますか?