ORACLE 版本是11.2.0.1.1
select count(1) AS COUNT
FROM A
LEFT JOIN B
ON A.XX = B.XX
出错 ORA-00600 参数[qctopn1]
把LEFT JOIN 改成INNER JOIN后 不出错
或者把 COUNT(1) 改成max(ROWNUM) 后也不出错 为什么?
select count(1) AS COUNT
FROM A
LEFT JOIN B
ON A.XX = B.XX
出错 ORA-00600 参数[qctopn1]
把LEFT JOIN 改成INNER JOIN后 不出错
或者把 COUNT(1) 改成max(ROWNUM) 后也不出错 为什么?
解决方案 »
- sql优化
- 求大神指点,介绍下oracle索引到底是干什么用的?什么原理?基础点就好~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- oracle客户端安装安装类型选择自定义,需要选择哪些组件?
- 谁有LogMiner啊,麻烦提供个下载地址,或Email给我啊.....
- vpn连接数据库 查询语句报错ORA-03113:通信通道的文件结尾
- 请问如何先将一个字符串类型字段转换成数值型,然后再判断它是否为偶数?
- oracle中存放有格式的文本内容的时候用什么数据类型?
- 数据库创建问题
- 触发器小问题,散份
- 怎么复制一个数据库
- 学习oracle
- 关于Blob类型的数据存储,在线急等
FROM A
LEFT JOIN B
ON A.XX = B.XX 来统计数量。ORA-00600 报的错应该和SQL解析有关系。
只有 select max(ROWNUM) as COUNT 好用
由于楼主这里求得是count(1),用left join 的话其实就是表A的count了,用max(rownum)可以得到同样的结果,但是inner join 这是更具on condition 的这个condition来匹配的 并不一定能得到上述的结果。而 我没用过11G 所以并不知道楼主的问题在哪里
而且我的10G中楼主的count(1)是可以实现的 我这并没出现报错
测试没问题
FROM A
LEFT JOIN B
ON A.XX = B.XXB 其实是个VIEW
现在把那个VIEW的ORDER BY 的一个字段去掉 就不出错了
不知道什么原因