問題タブ [ora-00918]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3319 参照

java - Hibernate Criteria により ORA-00918 が発生します: 列があいまいに定義されています

次のコードを実行しています。

これにより、ORA-00918: column ambiguously defined例外が発生しています。TAmbitos基準には、それ自体を参照するテーブルがありますTAmbitosByPais(特定TAmbitosの行には、TAmbitosByIdPais別の を参照するフィールドがありますTAmbitos)。結果の SQL は次のとおりです。

WHERE 句でわかるように、SQL は、参照している "nombre" フィールドを認識できません。sqlRestriction に this_ を追加することで、これを克服できます。

しかし、SQL が照会されたテーブルを常に this_ として参照するかどうかわからないため、それが最善の解決策であるかどうかはわかりTAmbitos.nombreませんTAmbitosByIdPais.nombre

ありがとう。

0 投票する
4 に答える
6814 参照

sql - rownumsを使用してサブクエリであいまいに定義された列

一部のユーザーから作成されたSQLを実行し、その結果を表示する必要があります。SQLの例は次のとおりです。

このSQLはそのままで正常に動作しますが、手動でページ付けを追加して行番号を表示する必要があるため、SQLは次のようになります。

これにより、「ORA-00918:列があいまいに定義されました」という例外がスローされます。これは、Table1とTable2の両方に同じ名前( "id")のフィールドが含まれているためです。

これを回避するための最良の方法は何でしょうか?

よろしく。

  • アップデート

結局、私たちは醜い方法で、実行する前に来る各SQLを解析する必要がありました。基本的に、アスタリスクを解決して、追加する必要のあるフィールドを見つけ、すべてのフィールドを一意のIDでエイリアスします。これによりパフォーマンスが低下しましたが、クライアントはそれが要件を考慮した唯一のオプションであることを理解していました。

私たちが取り組んだ解決策であるため、Lexの回答にマークを付けます。

0 投票する
2 に答える
9966 参照

sql - 2 つの副選択がある FULL OUTER JOIN で、「ORA-00918: 列があいまいに定義されました」というメッセージが表示される

両方のサブセレクトはスタンドアロンで正常に実行されます。

しかし、私はそれらを一緒に結合したいと思っています. なぜだろう?

両方の準選出者は他の名前を使用しています。

0 投票する
1 に答える
1057 参照

plsql - プロシージャ エラー ORA-00918: 列の定義があいまいです

誰でもこのエラーを手伝ってもらえますか:

9/10 PLS-00428: an INTO clause is expected in this SELECT statement

これは、単一のパラメーターに基づいて詳細を出力しようとすると表示されます。これは私が使用しているコードです

0 投票する
5 に答える
32740 参照

oracle - ORA-00918: 列の定義があいまいです: 列の検索方法

古典的なエラーが発生しています:

ORA-00918: 列の定義があいまいです

通常、私はそれを解決する方法を知っていますが、今の問題は、700 行のクエリを使用していることです。

列を識別する方法はありますか?

0 投票する
2 に答える
3624 参照

oracle - Oracle UNION の異なる列

次のような2つのテーブルがあります。

私のクエリは UNION を使用してこれらのテーブルの結果をまとめていますが、TABLE_2 に COL_C がない場合、'0' のようなものを入れようとしています。しかし、「ORA-00918: 列があいまいに定義されています」というエラーが表示されます

どうすればこれを回避できますか?

0 投票する
1 に答える
605 参照

sql - ORA-00918: DBリンクを使用して定義された列があいまいです

以下のクエリを実行すると、次のエラー メッセージが表示されます。

ORA-00918: 列があいまいに定義されています

ORA-02063: ABC の前の行

クエリ:

コメントfou_r.*するSELECTとうまくいきます。

次のクエリも機能しません。

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

0 投票する
0 に答える
79 参照

sql - ORA-00918: paramlistpaのリストを選択する際に、列が曖昧に定義されています

この質問が以前に何度も出されたことは知っていますが、ここでこれに関するすべての議論を見てきましたが、私の問題を解決するのに役立つものはありませんでした.

だから私の問題は、このエラーが発生したことです。私が理解していることから、このエラーは列がどのテーブルからデータを取得するかを判断できなかったため、 s.sampleid などの列名変数をssampleid として指定することで解決できます。右?

これが私のコードです

そして、列に変数を与えることで私がしたことは次のとおりです

私がテストしたところ、エラーはparamlistpaによって引き起こされました