3

这有效:

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,但0RA-00952 - Table or view does not exist在 10g(版本 10.2.0)上失败:

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 中存在错误,因此我会接受与该问题明显相关的错误报告作为答案。

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

4

1 回答 1

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 版本有问题。

于 2012-10-29T09:17:49.487 回答