我正在尝试根据从 table1中的选择插入到 table2中,但我无法获得正确的语法。来自 table1 的列名将驱动插入到 table2 的 PD_NO 列中的值,如下例所示。有人能帮忙吗?
表格1:
(1) (2) (3) (4) (5) (6)
| SEQ | PD_01 | PD_02 | PD_03 | PD_04 | PD_05 | PD_06 |
|-----+-------+-------+-------+-------+-------+-------|
| 632 | 10000 | 0 | 500 | 0 | 20000 | 0 |
表2:
| SEQ | PD_NO | AMT |
|-----+-------+-------|
| 632 | 1 | 10000 |
|-----+-------+-------|
| 632 | 3 | 500 |
|-----+-------+-------|
| 632 | 5 | 20000 |
|-----+-------+-------|
我知道如果我在另一个方向工作(将 table2 的内容插入 table1),我可以执行以下操作:
INSERT INTO table1
SELECT
seq,
SUM (CASE WHEN pd_no = 1 THEN amt ELSE 0 END) p01_amt,
SUM (CASE WHEN pd_no = 2 THEN amt ELSE 0 END) p02_amt,
SUM (CASE WHEN pd_no = 3 THEN amt ELSE 0 END) p03_amt,
SUM (CASE WHEN pd_no = 4 THEN amt ELSE 0 END) p04_amt,
SUM (CASE WHEN pd_no = 5 THEN amt ELSE 0 END) p05_amt,
SUM (CASE WHEN pd_no = 6 THEN amt ELSE 0 END) p06_amt
FROM table2;