现在做一个查询报表,3个表之间的关联,数据有点多,我写的sql:
   select distinct
c.afa051 || ' ' || c.afa052 afa052, 
b.afa031 || ' ' || b.afa032 afa032, 
  from fa26 a, fa13 b, fa25 c
 where 1 = 1
   and ('000000' is null or c.aaa010 = '000000')
   and ('' is null or c.afa054 = '')
   and a.afa054 = c.afa054
   and ('' is null or b.afa030 = '')
   and a.afa034 = b.afa034
 一直出现扩展temp段,我又增加了表空间,但还是不行,最后测试把distinct去掉,关联可以了,但是加上后面的where条件又 不可以啦,谁出现过类似的情况,给指教指教呀,还有distinct会降低查询速度吗,从我这里看是的,谢谢了

解决方案 »

  1.   

    这个where条件怎么这么诡异,加distinct肯定会降低速度啊,因为它需要每条判断是否有重复记录。
    select distinct 
             c.afa051 || ' ' || c.afa052 afa052, 
             b.afa031 || ' ' || b.afa032 afa032, 
    from  fa26 a, fa13 b, fa25 c  
    where 1 = 1  
    and   a.afa054 = c.afa054 
    and   a.afa034 = b.afa034 ;
    后面3个条件不懂你要做什么