通过使用union运算符,我想获得具有相同id但名称不同的单个记录

时间:2017-08-03 05:21:19

标签: sql oracle11g

我创建了一个表(id,name),如(1,justin)...
第二张桌子就像(1,jstin) 通过使用union运算符,我想显示正确的名称?(这里正确的名称是justin)是如何实现的?

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找以下

 create table tab2
 (
  col1 integer,
  col2 varchar(100)
 );

 insert into tab1 values (1,'Justin');

  create table tab2
  (
   col1 integer,
   col2 varchar(100)
  );

  insert into tab2 values (1,'Jstin');

基本上你想从tab1打印正确的名字。 我们可以通过多种方式实现这一目标。我们实际上并不想要一个工会运营商。但如果你是专门寻找工会来做这件事,请尝试以下

 select distinct id,correct_name  from 
 (
    select distinct col1 as id,col2 as correct_name,null as worng_name from 
    tab1 
    union 
    select distinct col1 as id,null as correct_name,col2 as wrong_name  from 
    tab2
 )a
    where correct_name is not null;