[解決済み] CREATE TABLE に失敗しました ORA 00957 カラム名が重複しています。
質問
Oracleで既存の2つのテーブルから特定のカラム名で新しいテーブルを作成しようとしました。
以下のコードを試してみました。
CREATE TABLE D_T1
AS
SELECT a.col1, a.col2, a.col3, a.col4, a.col5, b.col6, b.col7, b.col8
FROM db1.table1 a INNER JOIN db1.table2 b
ON (a.col1 = b.colNum AND a.col2 = b.colnum1)
しかし、エラーが発生します。
<ブロッククオートCREATE TABLE に失敗しました ORA 00957 カラム名が重複しています。
どなたか助けてください。
どのように解決するのですか?
コードを再入力することで発生した他のエラーは無視し、カラムが重複していることを示しましたが、これはエラーが教えてくれていることです。
a.VALIDFLAG, b.VALIDFLAG
テーブル (エイリアス) プレフィックスによって、プロジェクションのカラム名が一意になると思い込んでいるようですが、それは間違いです。しかし、そうではありません。テーブルプレフィックスは、Oracle にどのテーブルからカラムの値を取得するかを伝えます (ただし、テーブルプレフィックスに
using
の結合構文を使用します(使用しません)。カラムが2つのテーブルに存在する場合、カラム名の前にテーブルを付けなければなりません。もし両方のテーブルから値を取得したい場合は、両方のテーブルのプレフィックスを付けなければなりません。
単純なクエリであれば、カラム・エイリアスなしで両方のテーブルのカラムを参照しても問題ありませんが、結果セットを消費しようとするものでは苦労するかもしれません。 これは大丈夫です :
select a.dummy, b.dummy
from dual a
join dual b on b.dummy = a.dummy;
DUMMY DUMMY
------- -------
X X
しかし、両方の列が同じ見出しを持っていることに注意してください。もしそのクエリを使ってテーブルを作ろうとすると
create table x as
select a.dummy, b.dummy
from dual a
join dual b on b.dummy = a.dummy;
ORA-00957: カラム名が重複している」というご覧のようなエラーが発生します。
重複したカラムのエイリアスを作成すると この問題は解決されます。 :
create table x as
select a.dummy as dummy_a, b.dummy as dummy_b
from dual a
join dual b on b.dummy = a.dummy;
ですから、あなたの場合、両方のカラムが必要であれば、これらのカラムをエイリアス化することができます。
..., a.VALIDFLAG AS validflag_a, b.VALIDFLAG AS validflag_b, ...
関連
-
[解決済み】ストアドプロシージャーのエラー ORA-06550
-
[解決済み】Excelに合体的な関数はありますか?
-
[解決済み] ORA-01790: 式は、対応する式と同じデータ型でなければならないエラーが発生するケース
-
[解決済み] SQL Server - 'RETURN'付近の、条件が想定されるコンテキストで指定された、非ブール型の式。
-
[解決済み] nvarchar 値 ... をデータ型 int に変換する際に、変換に失敗しました。
-
[解決済み] SQLでchar値をmoneyに変換できない
-
[解決済み] SQLで複数のGROUP BYを使用する場合とは?
-
[解決済み] SQLテーブルで重複する値を検索する
-
[解決済み] 最初の行への結合方法
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ERROR: 参照されたテーブル "bar" の与えられたキーに一致するユニークな制約がありません。
-
[解決済み】ストアドプロシージャーのエラー ORA-06550
-
[解決済み] ''付近の構文が正しくない
-
[解決済み] SQL Server - 'RETURN'付近の、条件が想定されるコンテキストで指定された、非ブール型の式。
-
[解決済み] CLOBとNCLOBの違いは何ですか?
-
[解決済み] 列名または提供された値の数がテーブル定義と一致しません。
-
[解決済み] オペランド型の衝突:uniqueidentifierはintと互換性がない
-
[解決済み] MySQLのON句の不明なカラム
-
[解決済み] SQLサーバーで文字列をsmalldatetimeデータ型に変換する際、変換に失敗しました(静的値を除く)。
-
[解決済み] VBA - ADODB.CommandTextの実行