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的无问题! 请问可以通过什么方法解决!?
解决方案 »
- Oracle有Cross-reference和CRUD分析工具吗?
- 急,oracle丢失日志文件,不能启动
- 这样的查询应该怎么写??????????
- 求sql语句
- 问几个约束的问题
- ORA-12571.TNS:包写入程序失败! 这是怎么回事?高分求助!!!!
- 看看这几道题是不是你想象中那么简单,先做出来先给分
- 关于manager server的问题
- 非常急,请帮帮忙,关于一条insert与select的混合语句
- 请问,在Oracle里建trigger是不是有什么说法呢?一个正常的不能在正常的trigger在Oracle里运行也说compilation errors.
- plsql导入pde文件时报错了
- 关于oracle水位线问题
还不如不要了啊。
为什么在连接查询中还要用呢
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);看下这个可以不?