首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何比较两个表,匹配表id,并检索另一列的值?

如何比较两个表,匹配表id,并检索另一列的值?
EN

Stack Overflow用户
提问于 2021-08-14 18:35:24
回答 2查看 36关注 0票数 0

我使用的是Oracle数据库。我是个新手,知道的也不多。

我有两个表,我们称它们为表1和表2。

表1:

代码语言:javascript
运行
复制
--------------------------------------------
config id| ISO value |  and more columns
----------------------------------------------

表2:

代码语言:javascript
运行
复制
------------------------------------------
config id | ISO value | and more columns
------------------------------------------

这就是问题所在。在前端,使用的配置id来自表1。表1具有100%的配置id。表1的ISO值也为空。表2只有表1中使用的配置id的50%,但是表2中所有可用的配置id都有一个ISO值。因此,这意味着表2中没有ISO值为空。

每个ISO值只有一个配置id,反之亦然。

有没有办法比较和匹配表1和表2中的两个配置Id,如果匹配,则使用表2中的ISO值?因为在表1中,ISO值为null。这样,至少50%的配置ids将具有ISO值。我该如何写一个查询来做这件事呢?或者我怎么才能做到这一点呢?

EN

Stack Overflow用户

发布于 2021-08-16 13:06:23

一个简单的包含update子句的merge是另一种选择。这个应该行得通:

代码语言:javascript
运行
复制
BEGIN 
  MERGE INTO tbl_1 t1
  USING (SELECT config_id
              , iso_value
           FROM tbl_2
          WHERE config_id IS NOT NULL) t2
     ON (t1.config_id = t2.config_id)
   WHEN MATCHED THEN UPDATE SET t1.iso_value = t2.iso_value;
  COMMIT;
END;
/
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68786098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档