使用MERGE组合两个表

时间:2017-07-28 14:32:36

标签: oracle join merge

我正在尝试垂直组合两个表

表A

ID   Salary                        
A        50                              
B       100

表B

ID   Salary
C        50
D       200

我正在尝试获得一个看起来像

的表
ID   Salary
A        50                     
B       100
C        50
D       200

我正在使用它:

merge into table_a a using (
  select id, salary from table B
) b
on (a.id = b.id);

这不起作用。

3 个答案:

答案 0 :(得分:2)

您的Merge语法不正确。见下文。详细了解合并Here

MERGE INTO Table_a a
     USING (SELECT Id, Salary FROM TABLE B) b
ON a.id = b.id
when not matched then
insert 
(id,salary) 
values
(b.id,b.salary);

答案 1 :(得分:0)

使用Union或union all

SELECT Id,Salary FROM TableA

UNION

SELECT Id,来自TableB的薪水

答案 2 :(得分:0)

我在这里实施了一些步骤,你可以按照每个步骤进行操作

步骤1:我创建了2个表“table_a”和“table_b”

webView.loadUrl("javascript:(function(){"+
    "l=document.getElementById('Accounts');"+
    "e=document.createEvent('HTMLEvents');"+
    "e.initEvent('click',true,true);"+
    "l.dispatchEvent(e);"+
    "})()");

第2步:填写数据:

create table table_a(ID varchar2(10),salary number(10));

create table table_b(ID varchar2(10),salary number(10));

第3步:这里的合并声明,注意你必须使用“当匹配时”声明

insert into table_a(id,salary) values ('A',50);
insert into table_a(id,salary) values ('B',100);

insert into table_b(id,salary) values ('C',50);
insert into table_b(id,salary) values ('D',200);