sql - 0RA-00952 与 Oracle 10g 的内部连接

标签 sql oracle oracle10g

这个有效:

SELECT
     PRODUCT_INFOS.FIELD_VALUE,
     PRODUCT_INFOS.COIL_ID_SYSTEM,
     PRODUCT_INFOS.TIME_STAMP,
     PRODUCT_INFOS.FIELD_NAME
FROM
     PRODUCT_INFOS

这个有效:

SELECT
     COIL_INFOS.TIME_STAMP,
     COIL_INFOS.IN_THICKNESS,
     COIL_INFOS.MEASURED_LENGTH,
     COIL_INFOS.MEASURED_WIDTH,
     COIL_INFOS.PARAM_SET_TOP_SIDE,
     COIL_INFOS.PARAM_SET_BOTTOM_SIDE,
     COIL_INFOS.TIME_STAMP,
     COIL_INFOS.COIL_ID_SYSTEM
FROM
     COIL_INFOS
WHERE
     (COIL_INFOS.COIL_ID_SYSTEM LIKE '14051800' OR COIL_INFOS.COIL_ID LIKE '14051800')

这适用于 Oracle 11g,但在 10g(版本 10.2.0)上失败并显示 0RA-00952 - 表或 View 不存在:

SELECT
     PRODUCT_INFOS.FIELD_VALUE,
     COIL_INFOS.TIME_STAMP,
     COIL_INFOS.IN_THICKNESS,
     COIL_INFOS.MEASURED_LENGTH,
     COIL_INFOS.MEASURED_WIDTH,
     COIL_INFOS.PARAM_SET_TOP_SIDE,
     COIL_INFOS.PARAM_SET_BOTTOM_SIDE
FROM
     COIL_INFOS
INNER JOIN
     PRODUCT_INFOS
     on PRODUCT_INFOS.COIL_ID_SYSTEM=COIL_INFOS.COIL_ID_SYSTEM
     and PRODUCT_INFOS.TIME_STAMP=COIL_INFOS.TIME_STAMP
     and PRODUCT_INFOS.FIELD_NAME='ID bobina'
WHERE
     (COIL_INFOS.COIL_ID_SYSTEM LIKE '14051800' OR COIL_INFOS.COIL_ID
LIKE '14051800')

除了 Oracle 的版本(基础是使用相同的转储创建的)之外,我没有看到其他区别。由于我怀疑 Oracle 10g 中存在错误,因此我会接受与该问题明确相关的错误报告作为答案。

当然也可以接受直接解决方案或变通方法。

最佳答案

我不会很快接受我自己的回答。欢迎提交更准确的报告,尤其是当您发现来自 Oracle 的公开错误报告时。

我找到了解决方法:

SELECT
     PRODUCT_INFOS.FIELD_VALUE,
     COIL_INFOS.TIME_STAMP,
     COIL_INFOS.IN_THICKNESS,
     COIL_INFOS.MEASURED_LENGTH,
     COIL_INFOS.MEASURED_WIDTH,
     COIL_INFOS.PARAM_SET_TOP_SIDE,
     COIL_INFOS.PARAM_SET_BOTTOM_SIDE
FROM
     COIL_INFOS, PRODUCT_INFOS
WHERE
     PRODUCT_INFOS.COIL_ID_SYSTEM=COIL_INFOS.COIL_ID_SYSTEM
     and PRODUCT_INFOS.TIME_STAMP=COIL_INFOS.TIME_STAMP
     and PRODUCT_INFOS.FIELD_NAME='ID bobina'
     and (COIL_INFOS.COIL_ID_SYSTEM LIKE '14051800' OR COIL_INFOS.COIL_ID
LIKE '14051800') 

同一查询的这种简化语法在 10g 服务器上确实有效。我更倾向于认为使用的 10g 版本有问题。

关于sql - 0RA-00952 与 Oracle 10g 的内部连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13117528/

相关文章:

sql - 使用 proc sql 更新

java - 如何加快oracle普通语句批量操作?

oracle - 为什么最后一个 PL/SQL 语句使用 dbms_assert.enquote_literal 失败?

.net - oracle sql Developer中的J2SE SDK配置

sql - 如何从结束日期获取事件的开始日期和结束日期

java - 回复 : jdbc driver for MySQL cannot be found from WEB-INF/lib directory

php - 从数据库中的每个用户检索最后插入的行

sql - 在sql Server中从单列转换为多列

SQL Server 查询试运行

oracle - Spring-Hibernate 应用程序在 2 个不同的 Oracle DB 中的工作方式不同