解决方案 »
- 麻烦大侠们帮我看看这万恶的Oracle代码。。。。我是初学者
- 重启ORACLE服务遇到的问题 错误代码183
- SQL里 表名是变动的,如何查询?
- proc的高手请进(难题,分不成问题)
- Oracle 存储过程 应该是简单问题
- ORA-12631 TNS:用户名检索失败,why ?
- "ORA-00604: 递归 SQL 层 1 出现错误 ORA-00942: 表或视图不存在" 我删除表的一列时报这样的错,有人说是权限的问题,不知是少什么权限?
- SQL问题,请赐教!
- 写入一块数据时,出现ORA-03124:双工内部错误,请问怎么解决?
- JSP连接ORACLE 9i数据库,出现"流已被关闭"的错误
- end-of-file on communication channel
- mySql使用存储过程批量存取
另外问下WWID是各个表的主键吗?
A.IMDATE >= date '2014-10-21' AND A.IMDATE < date '2014-10-21' + 1第二个,这里似乎用了分页,但是分页的方式不对,order by rn在那里没有意义
如果不需要排序,则在order by rn那里,加上条件and rownum<16
然后在最外层,加上order by rn,且在select后面加入提示/*+ first_rows(10)*/
根据你的业务逻辑调整,下面两种二选一E LEFT JOIN F ON E.WWID=F.WWID AND F.MC LIKE '%青铜%'
E INNER JOIN F ON E.WWID=F.WWID WHERE F.MC LIKE '%青铜%'
LIKE效率较低,建议改为
instr(F.MC,'青铜')>0
SELECT *
FROM V_SPECINFO A
left join V_WWPICINFO D on A.WWID = D.WWID
LEFT JOIN (SELECT F.MC
FROM (SELECT WWID, MC
FROM V_WWINFO
UNION ALL
SELECT WWID, MC FROM V_ZRLINFO)) F ON A.WWID = F.WWID
WHERE A.XZQH = 'un0000'
AND A.IMDATE = to_date('2014-10-21', 'YYYY-MM-DD')
AND NOT EXISTS (SELECT 1 FROM V_CANCLE B WHERE A.WWID = B.WWID)