• ベストアンサー

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: 表またはビューが存在しません」というエラーが発生しました。 いろいろ調べてみたのですが全くの初心者なもので本当に困っております。 どなたかアドバイス等よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

まずは、問題の切り分けのために、sql*plusで、同じSQL文が通るかどうか確認されたほうが良いと思いますよ。

kep08
質問者

お礼

回答ありがとうございます。 LEFT JOIN ではなく (+) を使ってみたのですが、それでうまく外部結合を作成することができました。 LEFT JOINの記述の仕方が悪かったのでしょうか。 とりあえず解決致しました。お騒がせしました。 sql*plusというものを知らなかったので、いろいろ調べさせてもらい勉強になりました。 ありがとうございました。

その他の回答 (2)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

#1です。すみません。間違えてました。 リンクテーブルは、MS-ACCESSでのお話です。 ご質問本文中に「EXCEL」とあるのに、「クエリ」からてっきりMS-ACCESSと思い込んでました。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

「ODBC」「ORA-」からリンクテーブルのようですが、登場するテーブルは5つともリンクテーブルとして作成されてますか? 一度に5つのテーブルにせずに、3つで作成してみるのは?

kep08
質問者

お礼

回答ありがとうございます。 リンクテーブルかどうかわからないのですが・・・ 操作としてはエクセルの外部データのインポートでクエリテーブルを作成しております。 いくつかにわけて作成し、最終的にそれらを結合させるということですよね? 明日試してみます。 アドバイスありがとうございます。