【问题标题】:Inner Query Work Flow内部查询工作流程
【发布时间】:2018-03-07 12:15:21
【问题描述】:

在 Query 下面执行时,执行成功。

但仅在执行时 (SELECT CREDITDOCUMENTID FROM TBLTPAYMENT ) 会出现类似“00904. 00000 - “%s: invalid identifier”的错误。

不知道它在 oracle 12c 数据库中是如何工作的。

SELECT *
FROM TBLTCREDITCREDITDOCUMENTREL
WHERE CREDITDOCUMENTID IN
  (SELECT CREDITDOCUMENTID
  FROM TBLTCREDITDOCUMENT
  WHERE CREDITDOCUMENTID IN
    (SELECT CREDITDOCUMENTID FROM TBLTPAYMENT    )
  ); 

【问题讨论】:

  • 请分享TBLTCREDITCREDITDOCUMENTREL、TBLTCREDITDOCUMENT和TBLTPAYMENT的表定义

标签: oracle oracle12c plsqldeveloper inner-query


【解决方案1】:

有根据的猜测(我敢打赌)是您的列 CREDITDOCUMENTID 不是来自 TBLTPAYMENT 表的列,而是来自范围内的其他表,例如在TBLTCREDITDOCUMENT。这很容易检查。尝试运行此查询:

SELECT *
FROM TBLTCREDITCREDITDOCUMENTREL
WHERE CREDITDOCUMENTID IN
  (SELECT CREDITDOCUMENTID
  FROM TBLTCREDITDOCUMENT
  WHERE CREDITDOCUMENTID IN
    (SELECT TBLTPAYMENT.CREDITDOCUMENTID FROM TBLTPAYMENT)
  ); 

如果您符合TBLTPAYMENT.CREDITDOCUMENTID 列的条件。你会得到与单独运行最里面的SELECT 时相同的错误。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-12
  • 1970-01-01
  • 2018-07-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多