有两张表 ,A表如下:
     id1     name1     sex1    id2  name2  sex2   id3   name3    sex3
      1       aa        f       2     bb     f      3     cc       mB表如下:      id1     name1     sex1    id2  name2  sex2   id3   name3    sex3
      2         bb        f      3    cc     m      4    dd       m
现在的要求是怎样操作得到A表和B表中的所有数据,相同的数据只显示一条,如下:
      id1     name1     sex1    id2  name2  sex2   id3   name3    sex3   id4   name4    sex4
       1       aa        f       2     bb     f      3     cc       m     4       dd     m哪位高手知道啊,小弟是菜鸟,多谢指导!!!

解决方案 »

  1.   

    --显示所有不相等的数据
    select a.* from a,b where a.name1<>b.name1 or a.sex1<>b.sex1 or  a.id2<>b.id2
     or a.name2<>b.name2 or  a.sex2<>b.sex2  or a.id3<>b.id3 or a.name3<>b.nam3 or a.sex3<>b.sex3
    union 
    --连接显示所有相等的数据
    select a.* from a,b where a.name1=b.name1 and a.sex1=b.sex1 and  a.id2=b.id2
     and a.name2=b.name2 and  a.sex2=b.sex2  and a.id3=b.id3 and a.name3=b.nam3 and a.sex3=b.sex3
      

  2.   

    select * from a
    union
    select * from b
      

  3.   

    id4 name4 sex4  这个是怎么来的?感觉你的表设计不太合理。A,B表完全可以全成一张表。表中字段(id,name,sex)就可以了。
      

  4.   

    SELECT DISTINCT * from (
    select * from a
    union
    select * from b
    )