プロが教えるわが家の防犯対策術!

2つの表をunionでマージした結果を副問合せで使用し、この副問合せを他の表とwhereで結合するとORA-00918: 列の定義が未確定です。がでます。こんな感じです。
副問合せそのものは単独で実行してもエラーにならないので結合に問題があるようです。
どなたか回答お願いします。行き詰っています。
select as.xx1,asxx2
from
(select * from aa
union
select * from bb) as,
af
where
as.xx1=af.xx1;

A 回答 (2件)

結合したテーブル間でカラム名が重複しているかと思いますので、提示のSQLの場合のテーブルの定義を書かないとなんともだと思います。


あと、「select as.xx1,asxx2 」これの「asxx2 」はタイポですよね?

この回答への補足

早速ありがとうございます。ご指摘の通りタイポです。asにxx1カラムは1つで、afテーブルも同じなのですが重複しているとは、もう少し詳しく教えて頂いていいですか?この副問合せにunionを使っている事じたいに問題はないんでしょうか?

補足日時:2012/06/27 21:51
    • good
    • 0

副問合せにunionを使っている事自体に問題はないですね。


「こんな感じ」ではなくて、実際にxx1とxx2しかないシンプルなテーブルを3つ用意して試してみましたか?
    • good
    • 0
この回答へのお礼

ご指摘の通りシンプル版をつくっみたら出来ました。チェックしたつもりがカラムの重複が1か所ありました。
基礎的な事を忘れていました。ご指摘ありがとうございました

お礼日時:2012/06/28 12:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す