古典的なエラーが発生しています:
ORA-00918: 列の定義があいまいです
通常、私はそれを解決する方法を知っていますが、今の問題は、700 行のクエリを使用していることです。
列を識別する方法はありますか?
二分探索を試みましたか?
例えば
元のクエリが次のようになっている場合
Select col1
,col2
,col3
,col4
from MyTable
Select col1
,col2
/*,col3
,col4 */
from MyTable
Select col1
/*,col2 */
,col3
,col4
from MyTable
それでもエラーが発生する場合、問題は にあります。col1
それ以外の場合は、変更する必要がありますcol2
。
あいまいな列のエラー メッセージは、同じ列名を共有するクエリで 2 つ (またはそれ以上) の列を結合したことを示します。
これを解決する適切な方法は、クエリ内の各テーブルにエイリアスを付け、すべての列参照の前に適切なエイリアスを付けることです。このような大規模なクエリでは楽しくないことに同意しますが、前任者の怠惰さの代償を払わなければならないのではないかと心配しています。