私がテーブルを持っているとしましょう1。
id column2 column3 column4
row1 1 name1 1 1
row2 2 name2 1 1
row3 3 name3 1 1
row4 1 name1 1 1
私は別のテーブルを持っています2:
id name1 name2 name3
row1
row2
row3
したがって、table2のidは、一意の値のみを除いて、table1のidとすべて同じ値になります。
私がする必要があるのは、各IDの列3と4の下の値の合計を取り、それらをtable1のcolumn2に依存するtable2の下の対応するname列に設定することです。
したがって、結果のtable2は次のようになります。
id name1 name2 name3
row1 1 4 0 0
row2 2 0 2 0
row3 3 0 0 2
誰かがこれを行う方法について何か考えがありますか?私の質問がひどい言葉で書かれている場合は申し訳ありません。OracleServerを使用しています。
よく理解できたら、table2に「SUM」を挿入しますか?
もしそうなら、あなたはこのようなことをすることができます:
INSERT INTO table2(id, name1, name2, name3)
SELECT id,
SUM(DECODE(column2, 'name1', (column3 + column4), 0)),
SUM(DECODE(column2, 'name2', (column3 + column4), 0)),
SUM(DECODE(column2, 'name3', (column3 + column4), 0))
FROM table1
GROUP BY id;
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加