以下のクエリを実行すると、次のエラー メッセージが表示されます。
ORA-00918: 列があいまいに定義されています
ORA-02063: ABC の前の行
クエリ:
SELECT
dos.*,
cmd.*,
cmd_r.*,
adr_inc.*,
adr_veh.*,
loc.*,
fou_d.*,
fou_r.*, --Works if I comment this line
mot.*
FROM
DOSSIERS@ABC dos
LEFT JOIN CMDS@ABC cmd ON cmd.DOS_CODE_ID = dos.dos_code_id
LEFT JOIN CMDS_RECCSTR@ABC cmd_r ON cmd_r.DOS_CODE_ID = dos.DOS_CODE_ID AND cmd_r.CMD_CODE_ID = cmd.CMD_CODE_ID AND cmd_r.CMD_DT_CREAT = cmd.CMD_DT_CREAT
LEFT JOIN HISTO_ADR@ABC adr_inc ON adr_inc.DOS_CODE_ID = dos.DOS_CODE_ID
LEFT JOIN HISTO_ADR@ABC adr_veh ON adr_veh.DOS_CODE_ID = dos.DOS_CODE_ID
LEFT JOIN LOC@ABC loc ON dos.DOS_CODE_ID = loc.DOS_CODE_ID
LEFT JOIN FOURNISS@ABC fou_d ON fou_d.PAY_CODE_ID = loc.PAY_CODE_ID_D AND fou_d.FOU_CODE_ID = loc.FOU_CODE_ID_D
LEFT JOIN FOURNISS@ABC fou_r ON fou_r.PAY_CODE_ID = loc.PAY_CODE_ID_R AND fou_r.FOU_CODE_ID = loc.FOU_CODE_ID_R
LEFT JOIN REF_MOT@ABC mot ON mot.RMR_CODE_ID = cmd_r.RMR_CODE_ID
WHERE
dos.REF_EXT = 'XXXXXXX'
コメントfou_r.*
するSELECT
とうまくいきます。
次のクエリも機能しません。
SELECT *
FROM ... ;
SELECT (SELECT count(xxx) FROM ...)
FROM ...;
SOで同様の問題を見ましたが、それらはすべて複雑なクエリを使用しているか、SELECT
内部で多くを使用していWHERE
ました。私は単純なので、何が間違っているのかわかりません。
現在のデータベース: Oracle Database 11g Enterprise Edition リリース 11.2.0.2.0 - 64 ビット製品
ターゲット データベース (db リンク ABC ターゲットを参照): Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
クライアント: Toad for Oracle 9.7.2.5