oracle 9i对full outer join 的支持如何?

解决方案 »

  1.   

    ORACLE不支持这种格式,如果要实现,用以下格式select * from table_1,table_2
    where table_1.column_name(+)=table_1.column_name;
      

  2.   

    比如说我有两个表A(id,v1,v2),B(id,v3,v4),我的查询语句为
    select case when a.id is null then b.id else a.id end as id,
           nvl(v1),
           nvl(v2),
           nvl(v3),
           nvl(v4) 
    from 
        (
           select id,
                  sum(v1),
                  sum(v2) 
           from a group by id
         ) a full outer join 
         (
           select id,
                  sum(v3),
                  sum(v4) 
           from b group by id
         ) b on a.id =b.id
    nvl的语法不对,见谅:)
      

  3.   

    qqyb2000(狂热) :你所说的那种格式是两个表的并集吗?
      

  4.   

    sql server的语法? 不懂.
      

  5.   

    给大家解释一下full outer join,肯定会有方法的.
      

  6.   

    http://www.oreillynet.com/pub/a/network/2002/04/23/fulljoin.html
    有解释,可以看一看
      

  7.   

    比如说我有两个表A(id,v1,v2),B(id,v3,v4),我的查询语句为  
    select  case  when  a.id  is  null  then  b.id  else  a.id  end  as  id,  
                 nvl(v1,0),  
                 nvl(v2,0),  
                 nvl(v3,0),  
                 nvl(v4,0)    
    from    
           (  
                 select  id,  
                               sum(v1),  
                               sum(v2)    
                 from  a  group  by  id  
             )  a  full  outer  join    
             (  
                 select  id,  
                               sum(v3),  
                               sum(v4)    
                 from  b  group  by  id  
             )  b  on  a.id  =b.id  
    在oracle9i下有问题吗
      

  8.   

    我测试的结果是当
            (  
                 select  id,  
                               sum(v1),  
                               sum(v2)    
                 from  a  group  by  id  
             )  a
    的结果为空时,最后的结果就不对了,为什么?
      

  9.   

    我用左右链接的方法实现了,只不过语句复杂了数倍。可oracle中的full outer join问题我还是没有解决。