いくつかの計算を実行したいテーブルがありますが、このselectステートメントは私のオラクルの操舵室の上にあります。
私はオラクルで(これと同じくらい)試みたかったのです。しかし、最終的には、これはphpを介して実行され、画面に出力を取得することになります。
これはOracle8i用です
私は4つの重要なデータを持っています-(顧客ID、New_Item、Suggested_net、および年ごとのボリューム)
customer_id = #
new_item = 0 or 1
suggested_net = #
year_1_n = #
year_2_n = #
year_3_n = #
year_1_e = #
year_2_e = #
year_3_e = #
new_items = 0は、year_1_e、year_2_e、year_3_eにのみ相関します
new_items = 1は、year_1_n、year_2_n、year_3_nにのみ相関します
これが例です
customer_id, new_item, suggested_net, year_1_n, year_2_n, year_3_n, year_1_e, year_2_e, year_3_e
2, 0, 4.25, null, null, null, 100, 100, 100;
2, 0, 5.25, null, null, null, 100, 100, 100;
3, 0, 2.50, null, null, null, 100, 100, 100;
1, 0, 3.50, null, null, null, 100, 100, 100;
2, 1, 5.99, 100, 200, 300, null, null, null;
3, 1, 4.99, 200, 400, 600, null, null, null;
したがって、この情報を取得する必要があります。 各行について、ボリュームを追加します(year_x ...)* Suggested_net次に、その金額をnew_item=0または1でグループ化されたcustomer_idに追加します。
したがって、上記の表を使用します
Customer 2, new_item = 0 would have a sum of (1275 + 1575)
Customer 1, new_item = 0 would have a sum of 1050
Customer 2, new_item = 1 would have a sum of 3594
などなど。
これは、selectステートメントで実行できる場合とできない場合がありますが、私が言ったように、オラクルで手間のかかる作業をできるだけ多く行い、残りはphpで処理できます。