gpt4 book ai didi

sql - oracle 将一张表中的多行数据复制到另一张表中

转载 作者:行者123 更新时间:2023-12-04 23:45:42 25 4
gpt4 key购买 nike

表一

Item  ----  Qauntity  ---- Code
123 1 --- 10 --- 123
123 2 --- 20 --- 123
123 3 --- 30 --- 123
653 3 --- 60 --- 345
653 2 --- 30 --- 345
653 4 --- 20 --- 345
967 3 --- 10 --- 967
967 2 --- 20 --- 967
967 1 --- 30 --- 967

表 2:

Code --   Qauntity
123 -- 40
345 -- 30
444 -- 10
234 -- 20
653 -- 60

我需要从表 1 中按代码分组获取总和(数量),如果代码存在则在表 2 中更新,否则插入新行。其余行保留在表 2 中。如何为以下场景编写 oracle plsql 查询。

谢谢

最佳答案

使用 MERGE你可以做到这一点

merge into table2 t2 using (select code, quantity from table1) t1 on (t2.code = t1.code)
when not matched then insert (code,quantity) values (t1.code,t1.qty)
when matched then update set quantity = quantity+t1.quantity;

关于sql - oracle 将一张表中的多行数据复制到另一张表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15653919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com