- ベストアンサー
SQL 外部結合について
EXCELでODBC接続で外部データを取り込み、クエリテーブルを作成するところまではできるのですが、MicrosoftQueryを使って外部結合をしようとすると、テーブルが3個以上ある場合は外部結合できませんとエラーが表示されます。 直接SQLをさわれば出来るのかと思い、 SELECT フィールド名1, フィールド名2, ... FROM (((TABLE1 LEFT JOIN TABLE2 ON TABLE1.NO = TABLE2.NO)LEFT JOIN TABLE3 ON TABLE1.NO = TABLE3.NO)LEFT JOIN TABLE4 ON TABLE1.NO = TABLE4.NO)LEFT JOIN TABLE5 ON TABLE1.NO = TABLE5.NO を入力したのですが、「ORA-00942: 表またはビューが存在しません」というエラーが発生しました。 いろいろ調べてみたのですが全くの初心者なもので本当に困っております。 どなたかアドバイス等よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
まずは、問題の切り分けのために、sql*plusで、同じSQL文が通るかどうか確認されたほうが良いと思いますよ。
その他の回答 (2)
- bin-chan
- ベストアンサー率33% (1403/4213)
#1です。すみません。間違えてました。 リンクテーブルは、MS-ACCESSでのお話です。 ご質問本文中に「EXCEL」とあるのに、「クエリ」からてっきりMS-ACCESSと思い込んでました。
- bin-chan
- ベストアンサー率33% (1403/4213)
「ODBC」「ORA-」からリンクテーブルのようですが、登場するテーブルは5つともリンクテーブルとして作成されてますか? 一度に5つのテーブルにせずに、3つで作成してみるのは?
お礼
回答ありがとうございます。 リンクテーブルかどうかわからないのですが・・・ 操作としてはエクセルの外部データのインポートでクエリテーブルを作成しております。 いくつかにわけて作成し、最終的にそれらを結合させるということですよね? 明日試してみます。 アドバイスありがとうございます。
お礼
回答ありがとうございます。 LEFT JOIN ではなく (+) を使ってみたのですが、それでうまく外部結合を作成することができました。 LEFT JOINの記述の仕方が悪かったのでしょうか。 とりあえず解決致しました。お騒がせしました。 sql*plusというものを知らなかったので、いろいろ調べさせてもらい勉強になりました。 ありがとうございました。