日期:2014-05-18  浏览次数:20421 次

求高手解答sql疑难问题
有两张表 ,A表如下:
  id1 name1 sex1 id2 name2 sex2 id3 name3 sex3
  1 aa f 2 bb f 3 cc m

B表如下:

  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

哪位高手知道啊,小弟是菜鸟,多谢指导!!!

------解决方案--------------------
SQL code
--显示所有不相等的数据
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

------解决方案--------------------
SQL code
select * from a
union
select * from b

------解决方案--------------------
SQL code
SELECT DISTINCT * from (
select * from a
union
select * from b
)