次の状況が発生しました: テーブルoとプロダクトpがマルチセレクトリストで接続されています。PL/SQL:INSTR()、SUBSTR()、マルチセレクトリストから値を抽出する方法
製品P:
- プライマリキーORDER_ID何かを: "9.25"
受注Oのような価格を購入する "101"
- プライマリキーPRODUCT_ID何か"123456"のように
- ストアすべて以下のように1列の名前はprodでuded製品 ":101:199:250:999:"
- 店舗の列に含まれるすべてのユニット価格のような名前の値段 ":10.0:25.0:30.5:125.25:"
たとえば123456のように、4つの製品が含まれています。 ID 101で製品を(購入価格は9.25$
ている間)10.0$
用に販売され、ID 199を持つ製品が25.0$
のために売却されたというように...
たので、私にとって最も困難な部分は、複数選択から必要な値を抽出することですリスト。
注文商品に応じた価格を抽出するにはどうすればよいですか?「id = 999の商品の平均販売価格はいくらですか?値の位置を返すように
SELECT MOD(INSTR(o.products, ':999:'),3) FROM orders o;
:
は、私はすでにのようなものを試してみました。私はPL/SQL
プログラマーではないので、私はこの問題をどのように続けるか分かりません... アイデアを歓迎します。
最初に1つの列に複数の区切り値を格納しないでください。 –
これについて知っています.... order_idとproduct_idのキーで3番目のテーブルを使用する方が効率的です。それにもかかわらず、ソリューションは複数選択リストに基づいている必要があります.... -/ – BPdone
これは動作しません。私はこの上の賢い人々が機能するいくつかの機能的なコードを提供できると確信しています。一度システムを拡張しようとすると問題になります。実際の答えはデザインを修正することです。 – BobC