现在做一个查询报表,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会降低查询速度吗,从我这里看是的,谢谢了
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会降低查询速度吗,从我这里看是的,谢谢了
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 '000000' is null 这个条件恒不成立
('' is null or c.afa054 = '') 这里包括一个恒成立和一个恒不成立的条件,加个or恒成立
下一个也一样
不可以是说速度慢,还是查不出结果,还是出错?
select distinct
c.afa051 || ' ' || c.afa052 afa052,
b.afa031 || ' ' || b.afa032 afa032,
from fa26 a, fa13 b, fa25 c
where 1 = 1
and c.aaa010 =nvl('000000',c.aaa010)
and c.afa054 =nvl('',c.afa054)
and a.afa054 = c.afa054
and b.afa030 =nvl('',b.afa030)
and a.afa034 = b.afa034