select ta.a,
ta.zq,
ta.sz,
ta.hq,
ta.hqp,
ta.bz,
ta.dm
from (select *
from A2011
where a <= to_date('2011-08-16', 'yyyy-mm-dd')) ta
join (select max(a) as fdate, zq, sz
from A2011
where fsh = 2
and a <= to_date('2011-08-16', 'yyyy-mm-dd')
group by zq, fsz) tb on ta.a= tb.a
and ta.zq= tb.zq
and ta.sz= tb.sz
where fsh = 2该查询语句在9i 版本中查询很慢!10G的无问题! 请问可以通过什么方法解决!?
还不如不要了啊。
为什么在连接查询中还要用呢
FROM a2011 ta
WHERE a <= to_date('2011-08-16', 'yyyy-mm-dd')
AND existst (SELECT MAX(a) AS fdate, zq, sz
FROM a2011 tb
WHERE fsh = 2
AND tb.a <= to_date('2011-08-16', 'yyyy-mm-dd')
AND ta.a = tb.a
AND ta.zq = tb.zq
AND ta.sz = tb.sz
GROUP BY zq, fsz);看下这个可以不?