0RA-00952与Oracle 10g进行内连接

时间:2012-10-29 07:30:22

标签: 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 - Table or view does not exist失败:

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中存在一个错误,我会接受一个明确与此问题相关的错误报告。

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

1 个答案:

答案 0 :(得分:1)

我不会快速接受我自己的回答。请随意提交更精确的内容,特别是如果您发现了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版本是错误的。