• ベストアンサー

データーベースの結合について

はじめまして。 先日異動で新しい職場につき、マイクロソフトアクセスを使用し始めたド初心者です。 早速ですが教えてください。 使用しているアクセスは2000です。 http://okweb.jp/kotaeru.php3?q=246849 ↑にて参考にさせていただきましたが、 SELECT * FROM メイン INNER JOIN サブ1 ON メイン.name1=サブ1.id INNER JOIN サブ2 ON メイン.name2=サブ2.id INNER JOIN サブ3 ON メイン.name3=サブ3.id のようにテーブルを4つ結合したいのです。 現在、2つのテーブルを結合することはできましたが、 3つ以上のテーブルの結合ができずに困っています。 上記のようにやってみると 「構文エラー:演算子がありません」と表示されます。 .ASPという拡張子のものですがそれがいけないのでしょうか? (正式には SQL = "SELECT * FROM メイン INNER JOIN サブ1 ON メイン.name1=サブ1.id" と、1行で書かないと認識しません SQL = "SELECT * FROM メイン INNER JOIN サブ1 ON メイン.name1=サブ1.id INNER JOIN サブ2 ON メイン.name2=サブ2.id INNER JOIN サブ3 ON メイン.name3=サブ3.id" とするとエラーになります。 ) 以前、勤めていた方の仕事を引き継いだのですが聞ける人もいないので途方にくれています。 質問自体がおかしいかもしれませんがどうぞ初心者にも理解できる回答をよろしくお願いします。

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

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

ASPとかは詳しくないので参考程度に。 アクセスを使用しているならクエリーのデザイン画面で設定してみてはどうでしょうか? アクセスとSQLServerでは確か構文も微妙に違っていたような気もしますんで。 SQL構文が必要ってなら「表示」から「SQLビュー」で構文も確認できます。 個人的な経験ではそのようなメッセージの場合は大概は靜靠や"が抜けていたなど単純な記入ミスだったんで。

MIYABF5D
質問者

お礼

返答ありがとうございます。 クエリとかもよくわかっていないのですが(汗)それらしきものを作成して参考にして解決できました。 SQL = "SELECT * FROM ((メイン INNER JOIN サブ1 ON メイン.name1=サブ1.id) INNER JOIN サブ2 ON メイン.name2=サブ2.id) INNER JOIN サブ3 ON メイン.name3=サブ3.id" 最終的には上記でうまく呼び出してくることが可能になりました。 ありがとうございます!!

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • iiikkk
  • ベストアンサー率37% (92/247)
回答No.1

SELECT * FROM (((メイン INNER JOIN サブ1 ON メイン.name1=サブ1.id) INNER JOIN サブ2 ON メイン.name2=サブ2.id) INNER JOIN サブ3 ON メイン.name3=サブ3.id) こうするとどうですか。

MIYABF5D
質問者

お礼

さっそくの回答ありがとうございます。 やってみましたところ、今度は [Microsoft][ODBC Microsoft Access Driver] ユニオン クエリの構文エラーです。 とのメッセージが出てきてしまいました。 ちなみに SQL = "(((SELECT * FROM メイン INNER JOIN サブ1 ON メイン.name1=サブ1.id) INNER JOIN サブ2 ON メイン.name2=サブ2.id) INNER JOIN サブ3 ON メイン.name3=サブ3.id)" でいいんですよね?

すると、全ての回答が全文表示されます。

関連するQ&A