请问有a表和b表的相同内容的字段,
a表 
111
222
333
444
b表
111
222
333
444,
所需要查询的结果是a表中的第一个字段与b表中和自己不相同的字段进行组合,得到查询结果
比如这两个表的查询结果为c
111 222
111 333
111 444该如何实现?

解决方案 »

  1.   

    是下面这个意思吗?有点郁闷 ...SQL> select *
      2    from  ( select 111 as a from dual
      3            union all
      4            select 222 as a from dual
      5            union all
      6            select 333 as a from dual
      7            union all
      8            select 444 as a from dual
      9          )a1,
     10          (
     11            select 111 as b from dual
     12            union all
     13            select 222 as b from dual
     14            union all
     15            select 333 as b from dual
     16            union all
     17            select 444 as b from dual
     18          )b1
     19   where a1.a <> b1.b;         A          B
    ---------- ----------
           111        222
           111        333
           111        444
           222        111
           222        333
           222        444
           333        111
           333        222
           333        444
           444        111
           444        222
           444        33312 rows selected
      

  2.   

    假设A,B两张表的字段都是ID
    select a.id,b.id
    from a,b
    where 
    a.id<>b.id
      

  3.   

    mantisXF(枫の叶) 
    不是的哦,不过有点像了,左右两边的值不需要重复,对应关系只要出现一次就可以了
    有了  111 222,就不需要222,111了
      

  4.   

    hebo2005() 
    也谢谢你哦,得出的结果和mantisXF(枫の叶)差不多,但是怎么可以剔除重复的记录呢
    请大家帮帮我
      

  5.   

    可不可以把select出来的两字段一起来distinct
      

  6.   

    你的A表与B 表我分别称为TABLEA,TABLEB
    select tablea.id,tableb.id from tablea,tableb where tablea.id<>tableb.id and rownum<
    (select count(1) from tablea)
      

  7.   

    select k.e,
    (select k.f from where k.f not in 
    (select k.e from k))
    from (select a.id as e,
    (select b.id from b where b.id<>a.id ) as f
    from a) k呵呵,凭想象写的,没test过,你自己测试下,或许查不到结果,呵呵。
      

  8.   

    嗬嗬,假如数据一样的话,只要把上面写的种种SQL语句的sql条件从不等于改为大于就可以了。
    赫赫。
      

  9.   

    不好意思,有人给了我正确的解决方法了。
    用if then case
    谢谢大家!