• 締切済み

異なるDB間のテーブルをサブクエリにする事はできますか?

「PostgreSQL」と「SQL Server」があり、aspで検索画面を作成しています。 PostgreSQL:Tbl_aaa(顧客No.、顧客名、住所、・・・) SQL Server:Tbl_bbb(顧客No.、契約日、契約金額、・・・) 上記のようなテーブルとフィールドがあるとして、どちらか一方の検索を行う場合は何も問題ありません。 例えば、契約日を検索条件に指定した場合、Tbl_bbbから一致した一覧が抽出されますよね。 抽出された結果を元に、Tbl_aaa.顧客No.=Tbl_bbb.顧客No.で再度抽出し、その結果を画面に表示させる。という事をやりたいのですがどうすればいいのかわかりません。 Tbl_bbbで検索を行い、画面表示の際にDo~Loopなどの中でTbl_aaa.顧客No.=Tbl_bbb.顧客No.となるものを表示させる。という方法を 考えましたが、(件数にもよりますが)結果が表示されるまでかなり時間がかかる為あまりよろしくありません。 そこで、異なるDB間のテーブルをサブクエリなどにする事はできないものかと思い、質問いたしました。 できるのであれば、どうすれば良いのか教えていただけないでしょうか。 できないのであれば、何か良い方法があればご教授下さい。よろしくお願いします。

みんなの回答

  • NOBNNN
  • ベストアンサー率50% (93/186)
回答No.2

「PostgreSQL」はわからないのですが 「SQL Server 2000」 には DTS が入っています。 DTSパッケージツールをODBC 経由で操作を行えば「PostgreSQL」 と「SQL Server 2000」はさまざまな操作が可能になると思います。 「SQL Server 2005」では 同様にSSISがあります。 DTSパッケージツールを検討してみてはいかがですか?  

searching
質問者

お礼

NOBNNN様 度々のご回答ありがとうございます。 「SQL Server 2000」にもそのような機能があるのですね。私の知らない事ばかりです。奥が深い・・・。 初めて聞く言葉ですので、DTSとは?というところから勉強する必要がありそうです。 ですが、せっかく教えていただいた情報ですので検討したいと思います。ありがとうございました。

  • NOBNNN
  • ベストアンサー率50% (93/186)
回答No.1

SQL Server 2005では SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\MSOffice\Access\Samples\Northwind.mdb';'Admin';''; Employees) のように他のデータソースをFROMに指定できます。 詳細は ◆OPENROWSET http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/tsqlref/ts_oa-oz_78z8.asp を参照

searching
質問者

お礼

NOBNNN様 ご回答ありがとうございます。 貴重なご意見をいただいたのですが、私が利用しているのはSQL Server 2000です。説明不足でした。 ただ、このような方法があるとわかっただけでも希望がでてきました。できればPostgreSQLで同様の方法はないでしょうか? ご存知の方がいらっしゃいましたらよろしくお願いします。

関連するQ&A