• ベストアンサー

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

いつもお世話になっております。 すみませんが教えてください。 vb.netを使って 違うファイルのアクセスのデータベースを結合したいと思いますが うまくいきません。どのようにすればよいのでしょうか? SELECT * FROM (一覧表 IN 'C:\DB.mdb ' LEFT JOIN 固有情報 IN 'C:\DB2.mdb ' ON 一覧表.IDNo = 固有情報 .ID1)  としましたが、From句の構文エラーとなってしまいます。 よろしくお願いします。

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

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

SELECT * FROM [;DATABASE=C:\DB.mdb].[一覧表] LEFT JOIN [;DATABASE=C:\DB2.mdb].[固有情報] ON 一覧表.IDNo = 固有情報.ID1 というやり方もあります。

oshiete44
質問者

お礼

ありがとうございました。

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

その他の回答 (1)

  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

リンクテーブルを作ると、ひとつのmdbで処理できます。 VBから、リンクテーブルを作成する場合は、ADOXを使えば可能ですが、一度作るだけですむ場合はmdbを操作するほうが楽です。

参考URL:
http://msdn.microsoft.com/ja-jp/library/dd313956.aspx
oshiete44
質問者

お礼

ありがとうございました。

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

関連するQ&A

  • 異なるデータベース間のテーブル結合

    DB名:db1 TABLE名:得意先マスタ DB名:db2 TABLE名:ユーザマスタ 以上のように、異なるデータベースに存在する2つのテーブルをLEFT JOINさせたいです。 結合条件は ユーザマスタ.得意先コード = 得意先マスタ.得意先コード とします。 この場合の結合方法を教えてください。 以下のようなSQL文を書いても駄目でした。 SELECT * FROM db1.ADMINISTRATOR.得意先マスタ AS  得意先マスタ   LEFT OUTER JOIN db2.ADMINISTRATOR.ユーザマスタ AS ユーザマスタ ON ユーザマスタ.得意先コード = 得意先マスタ.得意先コード よろしくお願いいたします。

  • 固定値を含む結合と複数テーブルの結合について

    「1.固定値を含む結合」と「2.複数テーブルの結合」について教えて下さい。 最近oracleを使い始めてSQLで表の結合を書く場面があるんですが LEFT(RIGHT) JOIN を使うのか、(+)を使って書くのかで迷っています。 LEFT(RIGHT) JOINだと固定値を含めて外部結合しようとするとエラーになってしまいます。 それが嫌で(+)を使っていたんですが 今度は複数のテーブルを(+)で結合しようとするとエラーになってしまいます。 (AテーブルとBテーブル、AテーブルとCテーブルなど?) こういう場合はどうすれば良いのでしょうか? とりあえず副参照をFROMに指定して対処してるんですが 何かきちんとした書き方があるのでしょうか?誰か教えて下さい。

  • 外部結合について

    left joinとright joinが交じり合った構文で途方に暮れています・・。 以下の(+)を使わずに、left joinとright joinを使うにはどのように書けばいいのでしょうか? ・・・・・・ FROM A,B,C WHERE A.CD=B.CD(+) AND B.NAME(+)=MAX(A.NAME) すみませんがよろしくお願いします。

  • 3テーブル外部結合方法について

    3つのテーブルを外部結合したいのですが・・・、 こんがらがってしまいました。 A,B,Cの3テーブルがあり、A,B,Cの順に外部結合 (LEFT OUTER JOIN)したいのですが、 A,BのテーブルについてはWhere句の条件指定が 必要です。 Select From (Select AA.a From A AA Where b = xxxx) BB Left Outer Join (Select CC.b From B CC Where c = eeee and BB.a = CC.b) On ???? こんな感じでつまづいてしまいました・・・

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

    はじめまして。 先日異動で新しい職場につき、マイクロソフトアクセスを使用し始めたド初心者です。 早速ですが教えてください。 使用しているアクセスは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" とするとエラーになります。 ) 以前、勤めていた方の仕事を引き継いだのですが聞ける人もいないので途方にくれています。 質問自体がおかしいかもしれませんがどうぞ初心者にも理解できる回答をよろしくお願いします。

  • 違うDB間のテーブル結合について

    宜しくお願い致します。 同じDB内にあるテーブル同士はleft join等で結合できますが、違うDB間にあるテーブルを結合する事は可能でしょうか?

    • ベストアンサー
    • MySQL
  • テーブル結合について、下記SQLをANSI結合の書き方で表したい。

    テーブル結合について、下記SQLをANSI結合の書き方で表したい。 select * from (select key from A union select key from B union select key from C) X, A,B,C where X.key=A.key(+) and X.key=B.key(+) and X.key=C.key(+) このSQLをANSI結合の記述で書きたいのですが、 (+)での結合文になれておらず試行錯誤しております。 下記のようなのかなとは模索しておりますが、 手元に実行環境がなくわかりません。 また、要所気付く点などありましたら、ご指摘願います。 select A.*, B.*, C.* from (select key from A union select key from B union select key from C) X, LEFT JOIN A ON X.key=A.key LEFT JOIN B ON X.key=B.key LEFT JOIN C ON X.key=C.key

  • SQLの結合

    SQLの結合を行う際にwhereで結合する場合とfromないでleft joinなどで結合を行う場合ではどちらのほうが処理が早いのでしょうか?

  • DBを問わないSQLのチューニングが学べる本はありますか?

    以下のSQLはほぼ全てのDBで使用できると思いますが どちらが高速なのでしょうか?このような、 DBを問わずにSQL文に関する基礎的なチューニングが学べる本はありますでしょうか? (1)JOINを使わずに結合 select * from A,B,C WHERE A.a=B.a AND A.b =C.b (2)JOINを使用して結合 select * from A left join B on A.a=B.a left join C on A.b=C.b

  • SQL 主キーによる自動的な表の結合

    複数の表を主キーで結合する際、そのままWHERE句に条件を列挙するのが普通ですが、 主キーの数が多いので、これを簡単に記述方法はないでしょうか? できれば Natural Join のようにテーブル名のみを記述し、 DBMS(Oracle)が主キーのみを自動的に結合してくれればベストです。 Natural Join を使用できない理由の1つは、複数の表に登録日という列があり、 Natural Joinすると主キーでない登録日まで結合してしまうからです。 SQLは次のようになっています SELECT * FROM TBL_A NATURAL JOIN TBL_B NATURAL JOIN TBL_C ... ※join using, join on 句は使用できないようです。 ※登録日の列名は変更できません。 Oracle Database 9.2.0.4