select p.TransferStoreCode, p.count, p1.ProductCode, p1.count1
  from (select rownum as pk, t. *
          from (select TransferStoreCode, count(*) as count
                  from product
                 group by TransferStoreCode) t) p full join 
       (select rownum as pk, t. *
          from (select ProductCode, count(*) as count1
                  from product
                 group by ProductCode) t) p1 on  p.pk = p1.pk如题。怎么回事呢?换成左右连接都可以,全连接为什么不行~全连接有什么特别注意的地方吗?

解决方案 »

  1.   

    经过试验发现用rownum全连接就会有这样的问题~
    那位能解释一下这个问题啊??
    左右连接为什么没有问题
      

  2.   

    没办法了,只好先左联在右连再union了~
    每人知道是怎么回事吗?
      

  3.   

    昨天在itput上找到,说oracle8i9i都有全连接的bug~
    不会这么巧被我碰上了吧:(
      

  4.   

    此外,该错误出现的场景复杂,可能出现在: 
    -- 启动的Oracle的时侯; 
    -- 试图创建数据库的时侯; 
    -- 试图对数据库进行连接的时侯; 
    -- 在客户端正在运行SQL/PL/SQL的时侯; 
    -- 备份/恢复数据库的时侯; 
    -- 其它一些情况下...... 
    在论坛上也时常可以看到初级DBA对这个问题的求救. 
    在这里简单的对该问题进行一下整理.不当之处,请多指教! ------------------- 
    错误原因种种 
    ------------------- 
    根据网络上大家反映的情况来看,错误原因大约有这些: -- Unix核心参数设置不当 
    -- Oracle执行文件权限不正确/环境变量问题 
    -- 客户端通信不能正确处理 
    -- 数据库服务器崩溃/操作系统崩溃/进程被kill 
    -- Oracle 内部错误 
    -- 特定SQL、PL/SQL引起的错误 
    -- 空间不够 
    -- 防火墙的问题 
    -- 其它原因 
    在开始解决问题之前,作如下几件事情: 1、 回忆一下在出现错误之前你都做了什么操作,越详细越好; 
    2、 查看background_dump_dest目录中的alertSID.log文件也是你要做的事情; 
    3、 Google一下,在互联网上有很多信息等着你去发现,不要什么都问别人.当然, 
      

  5.   

    建议简化sql,对结果集进行处理,来返回你要的结果。好处:
    1。增强可移植性;
    2。提高查询效率;切身体会。
      

  6.   

    可能是有问题,我的一个sql也是,在8i没有问题,9i出现这个错误
      

  7.   

    If this message occurs during a connection attempt, check the setup
    files for the appropriate Net8 driver and confirm Net8 software is correctly
    installed on the server. If the message occurs after a connection is well
    established, and the error is not due to a physical failure, check if a trace file
    was generated on the server at failure time. Existence of a trace file may suggest
    an Oracle internal error that requires the assistance of Oracle Support Services.