2017-09-26 6 views
0

以下の問合せを実行している間、その問合せは正常に実行されました。内部問合せワークフロー

しかし、(SELECT CREDITDOCUMENTID FROM TBLTPAYMENT)を実行すると、 "00904.000000 - "%s:無効な識別子 ""のようなエラーが表示されます。

Oracle 12cデータベースでの動作がわかりません。

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

TBLTCREDITCREDITDOCUMENTREL、TBLTCREDITDOCUMENTとTBLTPAYMENT –

答えて

2

推測は(と私はそれに賭けている)例えば、あなたのコラムCREDITDOCUMENTIDTBLTPAYMENTテーブルからが、スコープ内にある他のいくつかのテーブルから列ではありませんということでしょうTBLTCREDITDOCUMENTにあります。これは簡単に確認できます。このクエリを実行してみてください:あなたはTBLTPAYMENT.CREDITDOCUMENTID列を修飾された場合の

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

。内部でSELECTを単独で実行したときと同じエラーが発生します。

+0

のテーブル定義を共有してください[この問題を調査しながら、ところで、私は、Oracle 12.2.0.1に興味深いバグを発見した](https://twitter.com/lukaseder/status/912626775561207808) –

+0

CRUITDOCUMENTIDはTBLTPAYMENTテーブルの列ではありませんが、提供されたクエリを実行している間も正常に実行されます。 – SamDPatel

+0

@SamDPatel:あなたは*確信していますか?そこにはかなり強い矛盾があります。 –

関連する問題