oracle全连接处理连接字段显示不全问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle全连接处理连接字段显示不全问题相关的知识,希望对你有一定的参考价值。

现有oracle表 A                                 表B

                 ID  COLA                       ID   COLB

                 1       1                          2       4

                 2       2                          3       5

                 3       3                          4       6

对表A和表B全连接FULL JOIN 操作 SQL1:SELECT T.ID,COLA,COLB FROM (SELECT * FROM A) T FULL JOIN (SELECT * FROM B) R ON T.ID=R.ID

                 结果是  ID   COLA   COLB

                            1       1

                            2       2         4

                            3       3         5

                                                6                 由于SQL1里选择的是T.ID(就是A的ID),因此全连接后连接字段只会显示A的ID,而B的ID是null       

 

同理如果选择R.ID(就是B的ID)结果如下 A的ID就是null  SQL2:SELECT R.ID,COLA,COLB FROM (SELECT * FROM A) T FULL JOIN (SELECT * FROM B) R ON T.ID=R.ID

                         ID   COLA   COLB

                                   1

                          2       2         4

                          3       3         5

                          4                  6  

 

 

对结果表处理下即可 SQL3 :   SELECT A||B AS ID,COLA,COLB FROM (SELECT T.ID AS A,R.ID AS B,COLA,COLB FROM (SELECT * FROM A) T FULL JOIN (SELECT * FROM B) R ON T.ID=R.ID) WHERE A IS NULL OR B IS NULL    UNION ALL  SELECT A AS ID,COLA,COLB FROM (SELECT T.ID AS A,R.ID AS B,COLA,COLB FROM (SELECT * FROM A) T FULL JOIN (SELECT * FROM B) R ON T.ID=R.ID) WHERE A IS NOT NULL AND B IS NOT NULL

得到将表A 表B 里的ID取别名 A B ,然后把AB列融合成1列ID,即AB同时不为空的那么取其中一个即可,union 上AB有一个为空的,取A||B即可

                    A      B   COLA   COLB        

                    1               1

                    2      2       2         4     

                    3      3       3         5

                            4                  6  

最后得到 

                   

                    ID    COLA   COLB        

                    1       1

                    2       2        4     

                    3       3        5

                    4                 6  

 

        

以上是关于oracle全连接处理连接字段显示不全问题的主要内容,如果未能解决你的问题,请参考以下文章

Arcgis10.2中插入的表格为啥只显示一部分

se11字段显示不全

layui表格字段表格显示不全(自适应)

layui表格字段表格显示不全(自适应)

谷歌浏览器,宽屏显示器显示页面不全问题?

MySQL 常用的表关联:左连接右连接内连接全连接