0

让我试着解释一下我的情况,我有两个表,每个表都包含两个感兴趣的字段,即 act_num 和 identity。第一个表包含两个字段的数据,但第二个表包含 act_num 数据而没有标识数据。我正在尝试编写一个查询,以便如果第二个表中的 act_num 等于第二个表中的 act_num 则第一个表的标识被导入到第二个表中的相应行中?做这个的最好方式是什么?我必须使用游标吗?

这些表是 Oracle 表 10g,并且正在使用 toad for oracle for the sql。请帮忙。就像是:

insert into table2 (identity) select identity from table1 
where act_num = select act_num from table2;

我不需要 table1 中的所有身份数据。我只需要 table1 和 table2 中的 act_num 的身份数据。请帮忙。

4

2 回答 2

1

You could just update it based on the first table, maybe a solution would be:

update table2 set identity = (select 
    identity from table1 where act_num = table2.act_num);

This should be enough to update all lines from table2 with the identity of table1 where act_num is the same as found in table1.

于 2012-07-25T07:45:41.563 回答
0
insert into table2 (identity) 
select identity from table1
where act_num in(select act_num from table2);
于 2012-07-25T07:44:11.123 回答