|
出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
Topに戻る
掲示板に戻る
検索
削除
管理者
|
![]()
2つのDBでINNER JOIN?
nanaさん
[2002/02/18 15:16:45]
[1679]
|
Re:2つのDBでINNER JOIN?
Tomitomiさん
[2002/02/18 17:57:25]
[1680]
Re:2つのDBでINNER JOIN?
北岳さん
[2002/02/18 23:54:01]
[1685]
Re:2つのDBでINNER JOIN?
喜平さん
[2002/02/19 2:15:45]
[1687]
Re:2つのDBでINNER JOIN?
よねさん
[2002/04/01 0:43:44]
[1941]
|
| [1679] 2つのDBでINNER JOIN? |
| 投稿者:nanaさん 2002/02/18 15:16:45 |
| はじめまして。 はじめて書き込みさせていただきます。 1つのDB内の複数のテーブルを結合して検索するときに INNER JOINを使って集計できると思うのですが、 これを、別のDBにあるテーブル同士をINNER JOINの様に 結合して検索することは可能でしょうか??? (DBはSQLServer、aspはVisualInterDev6.0、Win2000の環境です) どうぞ宜しくお願いいたします。 |
| [1680] Re:2つのDBでINNER JOIN? |
| 投稿者:Tomitomiさん 2002/02/18 17:57:25 |
| こんにちは、Tomitomiです。 > 1つのDB内の複数のテーブルを結合して検索するときに > INNER JOINを使って集計できると思うのですが、 > これを、別のDBにあるテーブル同士をINNER JOINの様に > 結合して検索することは可能でしょうか??? > (DBはSQLServer、aspはVisualInterDev6.0、Win2000の環境です) 私は、SQLServerはまったく触ったことありませんが、 AccessやOracleの例では、AサーバとBサーバがあり、Aサーバ上で SQLを実行するのであれば、 AサーバにBサーバのテーブルをリンクすれば良いのでは? |
| [1685] Re:2つのDBでINNER JOIN? |
| 投稿者:北岳さん 2002/02/18 23:54:01 |
| Accessで、テーブルをリンクしたくない(理由不明)場合のスクリプト例がありました。 TRY!ASPの #32560 「2つのデータベース間でSQL文字列のみで1つのクエリーを作成する方法」 のスレッドの、いかんともしがたい男さんのレス。 ACCESS97で動作確認したら、確かに動作しました。 以下転用。 d:\alias\1.mdb(field1 あり) と d:\alias\2.mdb(field2 あり)を結びます。 dbの1の方を普通の方法で書いた場合、2の方は、SQL文中でフルパス指定します。 -------------------- <% set rs=Server.CreateObject("ADOdb.Recordset") set db1=Server.CreateObject("ADOdb.Connection") db1.Provider="Microsoft.Jet.OLEdb.4.0" db1.mode=3 db1.ConnectionString="d:\alias\1.mdb" db1.Open SQL="SELECT * FROM [d:\alias\2.mdb].[table2] INNER JOIN table1 ON table1.field1=table2.field2" rs.Open SQL,db1,3,3 Response.Write rs.RecordCount %> -------------------- 私は、SQLServer、Oracleとも(CD以外は)まったく触ったことありません。 SQLServerでもこのまま通じるか知りませんが、判りましたらぜひ結果を教えて下さい。 (SQLServerに切り替えようか、迷ってまして、ACCESSとどのくらい共通性があるのかと・・・。) |
| [1687] Re:2つのDBでINNER JOIN? |
| 投稿者:喜平さん 2002/02/19 2:15:45 |
| > SQL="SELECT * FROM [d:\alias\2.mdb].[table2] INNER JOIN table1 ON table1.field1=table2.field2" > (SQLServerに切り替えようか、迷ってまして、ACCESSとどのくらい共通性があるのかと・・・。) もちろん、sql server では、そういうsql は使えません。 |
| [1941] Re:2つのDBでINNER JOIN? |
| 投稿者:よねさん 2002/04/01 0:43:44 |
| > 1つのDB内の複数のテーブルを結合して検索するときに > INNER JOINを使って集計できると思うのですが、 > これを、別のDBにあるテーブル同士をINNER JOINの様に > 結合して検索することは可能でしょうか??? > (DBはSQLServer、aspはVisualInterDev6.0、Win2000の環境です) よねと申します。 たまたま仕事で上記の内容をやる必要があり、結果が出ましたのでお知らせします。 まず結論から言いますと2つの「DBでinnner join」は可能、です。 例えばtest1とtest2というデータベースがあり、test1の中に「注文書」、test2の中に「得意先マスター」があるとした場合、 dim SQL dim DB dim RS Set DB = Server.CreateObject("ADODB.Connection") DB.open "***接続文字列***" Set RS = Server.CreateObject("ADODB.Recordset") SQL="select 注文書.ID,注文書.TOKUISAKI_CD,test2.dbo.得意先マスター.TOKUISAKI_NM from 注文書 inner join test2.dbo.得意先マスター on 注文書 = test2.dbo.得意先マスター" RS.Open SQL こんな感じでレコードセットを取得する事ができました。 つまり、join句でつなぐ方のテーブル名に"データベース名.dbo."を付け足せばいいという事ですね(多分)。 ちなみに、この場合Open命令をかけるデータベースはTest1だけで良いようです。 環境は MSDE(SQL-Server7.0) Windows98 です。 それでは。 |
|
TreeBBS For ASP V.0.1.3 |