比如说A表和B表。
A表和B表有相同的字段也有不同的字段。
想把A表和B表的记录合到一起,但如果有相同字段的则合并到一条记录。
比如A:
c1 a1 a2 c2 a3 
1  2   1  4  5 
2  2   2  4  5 
3  2   3  4  5 B表:
c1 b1 b2 c2 b3
1  2   1  4  5 
2  2   2  4  5 
4  2   3  4  5 想得到最终表如下:c1 a1 a2 c2 a3  b1 b2 b3
1  2   1  4  5  1  1  5
2  2   2  4  5  2  2  5
3  2   3  4  5 
4  2   3  4  5  2  3  5

解决方案 »

  1.   

    错了想得到最终表如下:c1 a1 a2 c2 a3  b1 b2 b3
    1  2   1  4  5  1  1  5
    2  2   2  4  5  2  2  5
    3  2   3  4  5 
    4         4     2  3  5
      

  2.   

    1.原理:SQL-92 FULL OUTER JOIN 运算符指明,不管表中是否有匹配的数据,结果将包括两个表中的所有行。2.本题答案:
       select * from a FULL OUTER JOIN b ON a.c1=b.c1 and a.c2=b.c2
      

  3.   

    那对公用字段加条件不知道是不是好用?
    比如要求 a.c1=2
    能筛选出所要的记录吗?
    我这里暂时还没有可测试的环境,ORACLE还没安装:(
    谢谢!
      

  4.   

    公用字段的条件可以使用Where、Having 子句。
    WHERE 和 HAVING 子句包含搜索条件,以进一步筛选联接条件所选的行。