列変数を使用して 1 つのテーブルを更新しようとしています。例:
Table: BILLING (ORIGIN OF DATA)
Columns:
- CUSTOMER
- PERIOD
- REVENUE
TABLE: BILLING_MONTHLY
Columns:
- CUSTOMER
- M201301 (this value is REVENUE per year/month)
- M201302 (this value is REVENUE per year/month)
- M201303 (this value is REVENUE per year/month)
BILLING (PERIOD) の値の列で BILLING_MONTHLY を更新する必要がありますが、テーブル BILLING の選択で更新と同等の結果で列を設定できません。
例:
テーブル請求
CUSTOMER PERIOD REVENUE
05031 201301 1000
05013 201301 550
05031 201302 800
05032 201303 930
05031 201303 880
期待される結果
テーブル BILLING_MONTHLY
CUSTOMER M201301 M201302 M201303
05013 550
05031 1000 800 880
05032 930
私の考え: 1) BILLING_MONTHLY に顧客を挿入するための "FOR" を作成します。2) 年/月ごとに顧客を評価するための「UPDATE」を作成します。
問題: 列の結果が原因で、機能的に更新を取得できません。
アンケートを作成するには:
CREATE TABLE BILLING
(
CUSTOMER VARCHAR2(5 BYTE),
PERIOD VARCHAR2(6 BYTE),
REVENUE NUMBER
);
INSERT INTO BILLING (CUSTOMER, PERIOD, REVENUE) VALUES ('05031', '201301', 1000);
INSERT INTO BILLING (CUSTOMER, PERIOD, REVENUE) VALUES ('05013', '201301', 550);
INSERT INTO BILLING (CUSTOMER, PERIOD, REVENUE) VALUES ('05031', '201302', 800);
INSERT INTO BILLING (CUSTOMER, PERIOD, REVENUE) VALUES ('05032', '201303', 930);
INSERT INTO BILLING (CUSTOMER, PERIOD, REVENUE) VALUES ('05031', '201303', 880);
COMMIT;
CREATE TABLE BILLING_MONTH
(
CUSTOMER VARCHAR2(5 BYTE),
M201301 NUMBER,
M201302 NUMBER,
M201303 NUMBER
);
誰か助けてくれませんか?前もって感謝します!