{channel.title!channel.name} - 楚淮公司周东林

oracle将两张表里的字段查询为1列去除重复

今天需要将两个表里面同名字的一个字段内容加起来在一列显示。偶然在百度上找到一个union的用法得到启示。


给出代码

select e3.yhxm
  from (select e1.yhxm, rownum rn
          from yw_zdryayhmap e1
        union
        select e2.yhxm, rownum rn from yw_mdjfandyhmap e2) e3

 

解释:

yw_mdjfandyhmap 和 yw_zdryayhmap 两张表里都有 yhxm 字段,来自不同的业务,有一个业务需要中这两个表里面的 yhxm 就想出了这个办法。这个会默认把重复的记录给去除,如果想显示若有记录加 ALL即可。

select e3.yhxm
  from (select e1.yhxm, rownum rn
          from yw_zdryayhmap e1
        union all
        select e2.yhxm, rownum rn from yw_mdjfandyhmap e2) e3