现在我要做的是一张表内两行数据中的相同的文本字段间的比较,把第二行数据中相比第一行缺少的数据取出来,好像用minus也没达到效果,请问下这个问题怎么处理,是用sql来获取比较好还是分别取出来在Java代码中进行比较然后获取结果?请分别详细说明....

解决方案 »

  1.   

    with tmp as
     (select 1 id, 'aaa' value
        from dual
      union all
      select 1 id, 'aab' value from dual)
    select *
      from tmp a, tmp b
     where a.id = b.id
       and a.value <> b.value
      

  2.   

    用自链接就OK了。with tmp as
      (select 1 id, 'aaa' value
       from dual
       union all
       select 1 id, 'aab' value from dual)
    select *
       from tmp a, tmp b
      where a.id = b.id
       and a.value <> b.value
      

  3.   

    sql实现不了,只能用高级语言实现。而且算法还比较复杂,不过网上有比较成熟的算法。