从table2中的值更新table1中的一列

时间:2015-09-01 15:30:37

标签: oracle11g

我正在尝试从table2中的列更新table1中的一列。这里
    是我在做什么,但我得到一个ORA错误。     ORA-01427: single-row subquery returns more than one row

update table1 a
 set a.art_num = (
    select b.art_num from table2 b
     where a.comp_id = b.comp_id );

提前非常感谢!

1 个答案:

答案 0 :(得分:0)

这是因为您的子查询返回多个结果。 你应该检查一下:

select b.art_num 
from table2 b
where a.comp_id = b.comp_id

您可以尝试在子查询中选择DISTINCT(在文档链接中搜索distinct):

update table1 a
 set a.art_num = (
    select distinct(b.art_num) 
    from table2 b
    where a.comp_id = b.comp_id );