我试图用列变量更新一个表。例子:
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)创建“FOR”以在 BILLING_MONTHLY 中插入客户;2) 每年/每月为客户增值创建“更新”;
问题:我没有在功能上获得更新,因为结果是列。
要创建调查:
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
);
有人能帮助我吗?提前致谢!