gpt4 book ai didi

sql - 使用另一个表中的数据更新一个表

转载 作者:行者123 更新时间:2023-12-03 04:06:59 24 4
gpt4 key购买 nike

表 1:

id    name    desc
-----------------------
1 a abc
2 b def
3 c adf

表 2:

id    name    desc
-----------------------
1 x 123
2 y 345

在 Oracle SQL 中,如何运行 sql update 查询,该查询可以使用表 2 的 namedesc 使用相同的内容更新表 1 id?所以我得到的最终结果是

表 1:

id    name    desc
-----------------------
1 x 123
2 y 345
3 c adf

问题取自 update one table with data from another ,但专门针对 Oracle SQL。

最佳答案

这称为相关更新

UPDATE table1 t1
SET (name, desc) = (SELECT t2.name, t2.desc
FROM table2 t2
WHERE t1.id = t2.id)
WHERE EXISTS (
SELECT 1
FROM table2 t2
WHERE t1.id = t2.id )

假设联接结果是一个保留键的 View ,您也可以

UPDATE (SELECT t1.id, 
t1.name name1,
t1.desc desc1,
t2.name name2,
t2.desc desc2
FROM table1 t1,
table2 t2
WHERE t1.id = t2.id)
SET name1 = name2,
desc1 = desc2

关于sql - 使用另一个表中的数据更新一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7030699/

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