問題タブ [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.
sql - 番号の異なる 2 つのテーブルを組み合わせて結合します。の列と同じ列名
fus_shift であるテーブルとルート テーブルを最終テーブルである新しいテーブルに結合しようとしましたが、「 2 行目のエラー: ORA-01789: クエリ ブロックの結果列の数が正しくありません」のように出力されます。代わりにテーブルを結合しようとしましたが、「ERROR at line 3: ORA-00918: column ambiguously defined」も出力されます。列数が異なり、同じ列名を持つ2つのテーブルを結合して結合する別の方法はありますか? ありがとうございました:-)
コード エラー:
select * from fus_shift
union
select * from root;
として最終的なテーブルを作成します。
コード エラー:
select record_num,test_num,t_date,t_time,system_type,category,comments,val
from fus_shiftrpt,root
where record_num=record_num;
私のテーブル:
強調されたテキスト
sql - Oracle ANSI結合で「USING」と「ON」を混在させる
私は次のような Oracle SQL 式を書きました。
実行しようとすると、Oracle は「ON」自己結合の行にエラーをスローします。
「am」修飾子を省略すると、「ORA-00918: 列があいまいに定義されています」と表示されます。
これを解決する最善の方法は何ですか?
mysql - ここに MySQL 開発者 -- Oracle 10g で select * ficky を入れ子にしますか?
簡単な診断クエリを作成し、それを Oracle 10g SQL Scratchpad で実行しようとしています。編集:コードでは使用されません。単純な「Select *」をネストしていますが、エラーが発生しています。
Oracle 10g Enterprise Manager コンソールの SQL Scratchpad では、このステートメントは正常に実行されます。
それを Select * from () tb2 でまとめようとすると、「ORA-00918: 列が曖昧に定義されています」というエラーが表示されます。この種の声明でそれが起こるとは思わなかったので、少し混乱しています。
私の知る限り、この構造を使用して別の select * ステートメントの結果セットから * を常に選択できるはずです...そうですか?
Oracle/10g/the Scratchpad は、過剰なネストを防ぐために特定の構文構造を受け入れるよう強制しようとしていますか? これはスクラッチパッドのバグですか、それともオラクルの仕組みに関するものですか?
sql - SQL: 2 つのフィールドに基づいて重複を見つける方法は?
2つのフィールドの組み合わせに対して一意である必要があるOracleデータベーステーブルに行がありますが、テーブルに一意の制約が設定されていないため、SQLを使用して自分で制約に違反するすべての行を見つける必要があります. 残念ながら、私の貧弱な SQL スキルでは、このタスクをこなすことはできません。
私のテーブルには、entity_id、station_id、obs_year という関連する 3 つの列があります。各行について、station_id と obs_year の組み合わせは一意である必要があります。これに違反する行があるかどうかを、SQL クエリでフラッシュして確認したいと考えています。
次のSQLを試しました(この前の質問で提案されています)が、うまくいきません(ORA-00918列があいまいに定義されています):
誰かが私が間違っていること、および/またはこれを解決する方法を提案できますか?
java - PreparedStatement エラー
2 つの select ステートメントがあり、これら 2 つのステートメントに対して「union all」を作成します。次に、PreparedStatement を使用し、この PreparedStatement に文字列を設定すると、 「java.sql.SQLException: Missing IN or OUT parameter at index:: 2」と表示されます。
私がグーグルをツアーした後、何人かの人々はそれぞれの「?」に対してそれを言います。sql ステートメントでは、setString を記述する必要があります。私の状況では、2 つの select ステートメントがあるため、2 つの "?" があります。しかし、私は「すべてを結合」しているので、その「?」が想定されているかどうかはわかりません。または2つの「?」。しかし、 preparedStatement.setString(1,ApplicationNo); のように 2 つの setString を記述しようとすると、prepareStatement.setString(2,ApplicationNo); 、「ORA-00918:列があいまいに定義されています」と表示されます。
この問題を解決する方法がわかりません。
私のユニオンセレクトステートメントは
setString は準備済みStatement.setString(1,ApplicationNo);
setStringの例を検索したところ、次のようなsetStringが2つある場合、2つの異なるパラメーターがあります
しかし、両方の select ステートメントに ApplicationNo が必要です。
asp.net - asp.netエラー:他のサーバーに移行するときに、列があいまいに定義されます
ASP.Netアプリケーションがあります。mix.netフレームワークを使用しており、netフレームワーク1、2.0、3.5のプロジェクトがあります。それらは別々のプロジェクト/場所にあります。そして、それはかなり前に実行されています。アプリケーションを古い開発サーバーから新しい開発サーバーに移行するときに問題が発生します。参考までに、古いサーバーはWindows Server 200332ビットとOracle10gで、新しいサーバーはWindows Server200864ビットと同じOracleバージョンです。両方のサーバーですべての構成を同じように設定しました。同じデータベーススキーマと同じアプリケーションを使用します。全体的に、アプリケーションは正常に実行されていますが、新しいサーバーでアプリケーションを実行しているときにエラーページを見つけたときは驚きました。エラーメッセージは次のとおりです。ORA-00918:列があいまいに定義され ていますエラーがどのように発生するかわかりませんが、古いサーバーでは、同じ構成でエラーはまったく発生しません。
誰もが同じ問題を抱えていますか?32ビットと64ビットだからですか?
私はあなたの解決策にとても感謝します。:)
sql - Oracle がこのクエリに対して「ORA-00918: 列があいまいに定義されています」を発生させないのはなぜですか?
ORA-00918 が発生することを期待する Oracle の奇妙な動作に遭遇しましたが、そうではありません。たとえば、このクエリを考えてみましょう。
このクエリは、トリガーが無効になっているテーブルの詳細を概念的に探していますが、これは私が解決しようとしている問題ではないことに注意してください。この問題は、このクエリ、データ ディクショナリ、ビュー、またはテーブルに固有のものではありません。私が知る限り、テーブルまたはビューの任意のセットに適用されます (私が試した 2 つまたは 3 つから)。
とにかく、このクエリを実行しようとすると、ORA-00918 が返されます。これは、句を実行するためのクエリを取得するために、と の両方USER_TABLES
にsoUSER_TRIGGERS
という列があるため、に変更する必要があるためです。わかりました。代わりに、別のテーブルに参加してみてください。STATUS
WHERE
TRG.STATUS
このクエリは、どの STATUS 列を意味するかを修飾することなく、魔法のように機能します! セマンティクスやクエリが返すものは気にしないでください。エラーはありません。 USER_CONSTRAINTS
tooと呼ばれる列もありSTATUS
ますが、選択する列が 2 つある場合に何をすべきかわからないのはなぜですか。
ちなみに、これはすべて10.2.0.3.0であり、クエリに2つ以上のテーブルがある場合、本質的にORA-00918の発生が停止します。これが Oracle のバグである場合、それがいつ修正されたのか、データベースがアップグレードされた場合にカウボーイ クエリが失敗する可能性が高い Oracle のバージョンを知っている人はいますか?
アップデート
バグが 11.2.0.1.0 で修正されたことを実証してくれた BQ に感謝します。以前のバージョンで修正されたことを示すことができる人には報奨金があります!
sql - SQL「あいまいに定義された列」-休止状態から実行する場合
sqldeveloperからSQLクエリを実行すると、正常に実行されます。HibernateSQLセッションから同じクエリを実行すると、「ORA-00918:列があいまいに定義されました」というエラーが表示されます。
Hibernateは、エラーのデバッグに使用できるあらゆる種類のSQLログを生成しますか?
編集:ここにsqlがあります:( sqldeveloperから正常に動作します)
c# - OracleQueryで列があいまいに定義されたエラー
私はこのようなコードを持っています。
しかし、このページを実行すると、次のようなエラーが発生します。
sql - ORA-00918:SELECTであいまいに定義された列*
ORA-00918の取得:列があいまいに定義されています:このSQLを実行しています:
何か提案はありますか?