問題タブ [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.
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
。
ありがとう。
sql - rownumsを使用してサブクエリであいまいに定義された列
一部のユーザーから作成されたSQLを実行し、その結果を表示する必要があります。SQLの例は次のとおりです。
このSQLはそのままで正常に動作しますが、手動でページ付けを追加して行番号を表示する必要があるため、SQLは次のようになります。
これにより、「ORA-00918:列があいまいに定義されました」という例外がスローされます。これは、Table1とTable2の両方に同じ名前( "id")のフィールドが含まれているためです。
これを回避するための最良の方法は何でしょうか?
よろしく。
- アップデート
結局、私たちは醜い方法で、実行する前に来る各SQLを解析する必要がありました。基本的に、アスタリスクを解決して、追加する必要のあるフィールドを見つけ、すべてのフィールドを一意のIDでエイリアスします。これによりパフォーマンスが低下しましたが、クライアントはそれが要件を考慮した唯一のオプションであることを理解していました。
私たちが取り組んだ解決策であるため、Lexの回答にマークを付けます。
sql - 2 つの副選択がある FULL OUTER JOIN で、「ORA-00918: 列があいまいに定義されました」というメッセージが表示される
両方のサブセレクトはスタンドアロンで正常に実行されます。
しかし、私はそれらを一緒に結合したいと思っています. なぜだろう?
両方の準選出者は他の名前を使用しています。
plsql - プロシージャ エラー ORA-00918: 列の定義があいまいです
誰でもこのエラーを手伝ってもらえますか:
9/10 PLS-00428: an INTO clause is expected in this SELECT statement
これは、単一のパラメーターに基づいて詳細を出力しようとすると表示されます。これは私が使用しているコードです
oracle - ORA-00918: 列の定義があいまいです: 列の検索方法
古典的なエラーが発生しています:
ORA-00918: 列の定義があいまいです
通常、私はそれを解決する方法を知っていますが、今の問題は、700 行のクエリを使用していることです。
列を識別する方法はありますか?
oracle - Oracle UNION の異なる列
次のような2つのテーブルがあります。
私のクエリは UNION を使用してこれらのテーブルの結果をまとめていますが、TABLE_2 に COL_C がない場合、'0' のようなものを入れようとしています。しかし、「ORA-00918: 列があいまいに定義されています」というエラーが表示されます
どうすればこれを回避できますか?
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
sql - ORA-00918: paramlistpaのリストを選択する際に、列が曖昧に定義されています
この質問が以前に何度も出されたことは知っていますが、ここでこれに関するすべての議論を見てきましたが、私の問題を解決するのに役立つものはありませんでした.
だから私の問題は、このエラーが発生したことです。私が理解していることから、このエラーは列がどのテーブルからデータを取得するかを判断できなかったため、 s.sampleid などの列名変数をssampleid として指定することで解決できます。右?
これが私のコードです
そして、列に変数を与えることで私がしたことは次のとおりです
私がテストしたところ、エラーはparamlistpaによって引き起こされました