select a.id,a.name,b.code
from 表一 a 
full join 表二 b
on a.id=b.id

解决方案 »

  1.   

    select a.id,a.name,b.code
    from 表一 a 
    full join 表二 b
    on a.id=b.id
      

  2.   

    select id,name=max(name),code=max(code)
    from(
    select id,name,code='' from 表一
    union all
    select id,name='',code from 表二
    )a group by id
      

  3.   

    select a.id,a.name,b.code
    from 表一 a 
    full join 表二 b
    on a.id=b.id
      

  4.   

    --或:
    select id=isnull(a.id,b.id),name=isnull(a.name,''),code=isnull(b.code,'')
    from 表一 a full join 表二 b on a.id=b.id
      

  5.   

    --测试--测试数据
    create table 表一(id int,name varchar(10))
    insert 表一 select 1,'a'
    union  all  select 2,'b'create table 表二(id int,code varchar(10))
    insert 表二 select 1,'ss'
    union  all  select 3,'dd'
    go--方法1
    select id,name=max(name),code=max(code)
    from(
    select id,name,code='' from 表一
    union all
    select id,name='',code from 表二
    )a group by id--方法2
    select id=isnull(a.id,b.id),name=isnull(a.name,''),code=isnull(b.code,'')
    from 表一 a full join 表二 b on a.id=b.id
    order by id
    go--删除测试
    drop table 表一,表二/*--测试结果id          name       code       
    ----------- ---------- ---------- 
    1           a          ss
    2           b          
    3                      dd(所影响的行数为 3 行)id          name       code       
    ----------- ---------- ---------- 
    1           a          ss
    2           b          
    3                      dd(所影响的行数为 3 行)
    --*/
      

  6.   

    zjcxc(邹建) 的方法是对的,其他人的,都错