表1:
ter_id  fielda
   1      34
   2      45
   3      56
表2:
ter_id  fieldb
   3      a
   4      b
   5      c
合并为表3:
ter_id  fielda   filedb
   1      34
   2      45
   3      56        a
   4                b
   5                c
请问表1和表2能不能直接合并成表3
能不能用一条SQL语句执行?
  谢谢!

解决方案 »

  1.   

    select a.ter_id, a.fielda, b.fieldb
      from table1 a
      full outer join table2 b
        on a.ter_id = b.ter_id
      

  2.   

    select T1.ter_id,T1.Fielda,T2.Fielda from Table1 T1 right Table2 T2
    on T1.ter_id=T2.tre_id
      

  3.   

    谢谢,可是我同时要合并的是四张表,join 后应当怎么写呢?
      

  4.   

    而且同时相同的FIELD不是ter_id 而是三个字段,能这样写吗?
    T1.ter_id1=T2.tre_id1 and T1.ter_id2=T2.tre_id2 and T1.ter_id3=T2.tre_id3
    and T1.ter_id1=T3.tre_id1 and T3.ter_id2=T3.tre_id2 and T1.ter_id3=T3.tre_id3
    and T1.ter_id1=T4.tre_id1 and T1.ter_id2=T4.tre_id2 and T1.ter_id4=T4.tre_id3
    and T2.ter_id1=T3.tre_id1 and T2.ter_id2=T3.tre_id2 and T2.ter_id3=T3.tre_id3
    and T2.ter_id1=T4.tre_id1 and T2.ter_id2=T4.tre_id2 and T2.ter_id4=T4.tre_id3
    and T3.ter_id1=T4.tre_id1 and T3.ter_id2=T4.tre_id2 and T3.ter_id4=T4.tre_id3
      

  5.   

    而且同时相同的FIELD不是ter_id 而是三个字段,能这样写吗?
    T1.ter_id1=T2.tre_id1 and T1.ter_id2=T2.ter_id2 and T1.ter_id3=T2.ter_id3
    and T1.ter_id1=T3.tre_id1 and T3.ter_id2=T3.ter_id2 and T1.ter_id3=T3.ter_id3
    and T1.ter_id1=T4.tre_id1 and T1.ter_id2=T4.ter_id2 and T1.ter_id4=T4.ter_id3
    and T2.ter_id1=T3.tre_id1 and T2.ter_id2=T3.ter_id2 and T2.ter_id3=T3.ter_id3
    and T2.ter_id1=T4.tre_id1 and T2.ter_id2=T4.ter_id2 and T2.ter_id4=T4.ter_id3
    and T3.ter_id1=T4.tre_id1 and T3.ter_id2=T4.ter_id2 and T3.ter_id4=T4.ter_id3
      

  6.   

    sql server 下:
    select a.ter_id,  表1.fielda, 表2.filedb
    from
    (select ter_id from 表1
    union select ter_id from 表2) a,表1, 表2
    where a.ter_id *=表2.ter_id
    and a.ter_id *=表1.terid
    调试已通过
      

  7.   

    union 联接
      select * from 表1 uinon select * from 表2
      

  8.   

    select ter_id,fielda,('null') as fieldb,('null') as fieldc...
    form 1
    union
    select ter_id,('null') as fielda,fieldb,('null') as fieldc...
    from 2
    .
    .
    .
      

  9.   

    如果结构一样可以 union 
    不一样 out union
      

  10.   

    select a.ter_id,a.fielda,b.fieldb from a,b where a.ter_id=b.ter_id
    union all
    select a.ter_id,a.fielda,'' from a where ter_id not in (select ter_id from b)
    union all
    select b.ter_id,'',b.fieldb from b where ter_id not in (select ter_id from a)
    order by a.ter_id
    注:表1=a 表2=b