二つのSQLサーバーのテーブルからビューを作成する方法

このQ&Aのポイント
  • AサーバーとBサーバーに同じ項目構成の、同じ名前のテーブルがあります。ただし、入っているデータが異なります。
  • Aサーバーの'H'テーブルには3行のデータがあります。Bサーバーの'H'テーブルには2行のデータがあります。
  • リンクサーバーがセットアップされ、二つのサーバーの間のセキュリティが確立されています。ビューで二つの'H'テーブルのすべての行を表示することは可能ですか?結合ではなく、AサーバーのテーブルのデータにBサーバーのテーブルのデータを追加した感じのビューを作成したいです。
回答を見る
  • ベストアンサー

二つのSQLサーバーのテーブルからビューを作成するには

わけあってAサーバーとBサーバーに同じ項目構成の、同じ名前のテーブルがあります。只入っているデータが異なってます。 Aサーバーの"H"テーブルには 3行のデータがあります。   Bサーバーの"H"テーブルには2行のデータがあります。    ちなみにリンクサーバーはセットアップしてあり、二つのサーバーの間のセキュリティは確立してあります。 以上のような場合、ビューで二つの"H"テーブルのすべての行を表示できますか? 結合ではなく、AサーバーのテーブルのデータにBサーバーのテーブルのデータを追加した感じのビューを作りたいです。 どなたか知っている方がいましたら、教えてください。

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

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

Books Onlineで 「リンク サーバーの設定」 「分散クエリ」 「リンク サーバー名を使用したデータ ソースの識別」 「UNION演算子」~「UNION による結果の結合」 等を参照してみて下さい。

rimimi
質問者

お礼

できた! ご指摘どおり調べながらやったら出来ました。 ありがとうございます。 恥ずかしさとうれしさ半分ずつです。

関連するQ&A

  • ビュー(view)のSQL

    SQL初心者で困っております。 どのようなSQLを作成すれば良いか ご助言頂ける方がいらっしゃいましたら よろしくお願いいたします。 テーブルにイメージは以下通りです。 項目1,日付,月,項目2,項目3 1234 ,6/2 ,6 ,A ,1 1234 ,6/4 ,6 ,A ,2 1234 ,6/5 ,6 ,A ,3 1234 ,6/6 ,6 ,B ,1 1234 ,6/6 ,6 ,B ,2 1234 ,6/6 ,6 ,B ,3 1234 ,7/2 ,7 ,A ,1 1234 ,7/4 ,7 ,A ,2 主キーは、項目1,日付です。 ビューで項目1,月をグループ化して、 項目2の昇順のトップ その中で項目3の昇順のトップ のレコードを抽出したいと思います。 結果が以下のようなイメージです。 1234,6,A,1 1234,7,A,1

  • SQLServer2005にてVIEWを作成したいのですが、どの様に結

    SQLServer2005にてVIEWを作成したいのですが、どの様に結合して良いのか分からないので教えて下さい。 下記「テーブルに登録されているデータ」で登録されているデータを下記「この様にVIEWで表示したい」の様にVIEWで出力する事は出来ますでしょうか? 出来るのであれば、結合方法の詳細かSQL文を教えて頂きたいと思います。 各SubNoは1~5と決まっています。 5に満たない場合は残りの項目はNULLとしたいです。 ▽テーブル詳細 MainNo Numeric(6,0) SubNo Numeric(1,0) Name Nvarchar(20) ▽テーブルに登録されているデータ MainNo, SubNo, Name 1, 1, 'TEST-A' 1, 2, 'TEST-B' 1, 3, 'TEST-C' 2, 1, 'CLASS-A' 2, 2, 'CLASS-B' 3, 1, 'OBJECT-A' 3, 2, 'OBJECT-B' 3, 3, 'OBJECT-C' 3, 4, 'OBJECT-D' 3, 5, 'OBJECT-E' ▽この様にVIEWで表示したい MainNo, SubNo1, Name1, SubNo2, Name2, SubNo3, Name3, SubNo4, Name4, SubNo5, Name5 1, 1, 'TEST-A', 2, 'TEST-B', 3, 'TEST-C', NULL, NULL, NULL, NULL 2, 1, 'CLASS-A', 2, 'CLASS-B', NULL, NULL, NULL, NULL, NULL, NULL 3, 1, 'OBJECT-A', 2, 'OBJECT-B', 3, 'OBJECT-C', 4, 'OBJECT-D', 5, 'OBJECT-E' 説明不足かも知れませんが、どなたか分かる方いらっしゃいましたらよろしくお願い致します。

  • SQLサーバでテーブルをコピーする

    SQLサーバ超初心者です。 A支店用のテーブルを作成(dbo.data_A)したのですが B支店(dbo.data_B)、C支店用(dbo.data_C)のテーブルを作成したいです。 Accessなどのように、コピーペーストなどはできないのですよね? ご教授お願いいたします!

  • SQL INSERT文を作成したいのですが

    お世話になります。 INSERT文を作成したのですが条件が多すぎて難しいです。 教えてください。 ・AテーブルにB・C・D・Eテーブルを元にデータを抽出しINSERT処理をしたいです。 ・データはBテーブル(親)の項目1が'10'の場合 ・結合条件はCテーブル(子)=B.項目2 = C.項目2 Dテーブル(子)=B.項目2 = D.項目2 Eテーブル(子)=B.項目2 = E.項目2 アドバイスをよろしくお願いします。          

  • ビューテーブル

    初心者的な質問です。 オラクルデータベースで、検索速度向上の為に ビューテーブルを作る事になりました。 ちょっといまいちわからないのですが、検索条件を 項目として作れば良いのでしょうか?? また、ビューテーブルを作って場合に、そのテーブルに データが入るタイミングとかってどうなっているのでしょうか?? ビューを使わないとしたら 7つのテーブルを参照して、検索をしなければなりません。 環境は、Webです。 ASPからUNIXのオラクル8にアクセスしています。 補足する必要があれば言って下さい。 可能な限り書きます。

  • 2テーブルの別カラムを一つにまとめたViewの作成

    以下の2つのテーブルがあった場合 Aテーブル 商品番号,種別 123456,A 123456,C 123456,M Bテーブル 商品番号親 123456 123123 123321 以下のようなView にしたいのですができますでしょうか。 Viewテーブル 新商品番号 123456 123123 123321 A123456 C123456 M123456 上3レコードは、Bテーブルのレコード、 下3レコードは、Aテーブルの種別と、商品番号を、CONCATしています。 なお、Viewテーブルは、全てユニークなレコードになります。 すみませんが、ご回答よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • SQL Server テーブル設計で悩んでいます。

    SQL Server 2008 R2 Visual Studio 2008 テーブルの設計で悩んでいます。 テーブルAのようなデータがあり、実際には、場所のNo.の数は500点くらいあります。 このデータをSQL to LINQでデータの追加、参照をしたいと思っています。 テーブルA,B、どちらの形式で設計する方がよいのでしょうか。 テーブルAの場合は、見た目がそのままで分かりやすいのですが、データ追加時(INSERT)に多数のデータを 追加する方法が分かりません。 テーブルBの場合は、テーブルAの形式で取得する場合、どうすればよいのか分かりません。 ここから先に進めず困っております。よろしくお願いします。 テーブルA 日付 No.1 No.2 No.3 No.4 No.5 2011/1/1 0 68 37 41 38 2011/1/2 3 60 3 69 46 2011/1/3 22 89 63 14 77 2011/1/4 75 8 55 46 41 2011/1/5 63 92 1 26 90 2011/1/6 61 23 77 42 93 2011/1/7 54 52 36 44 41 2011/1/8 72 98 30 66 48 2011/1/9 20 3 89 15 59 テーブルB 日付 場所 線量 2011/1/1 No.1 0 2011/1/1 No.2 68 2011/1/1 No.3 37 2011/1/1 No.4 41 2011/1/1 No.5 38 2011/1/2 No.1 3 2011/1/2 No.2 60 2011/1/2 No.3 3 2011/1/2 No.4 69 2011/1/2 No.5 46

  • SQLのビューについて

    SQLServer:2005 OS:XP こんにちは。お世話になっています。 SQLServerでビューを作成し、テーブル「a」の構成データにプラスして、前月の1日を入力させようとしています。 ビューの列に↓を入力すると CAST(YEAR(DATEADD(m, - 1, GETDATE())) AS varchar) + CAST(MONTH(DATEADD(m, - 1, GETDATE())) AS varchar) + CAST('1' AS varchar) 「200811」と出力されるのですが、このデータを日付型にするにはどのような関数を追加したらいいのでしょうか? アドバイスをお願いいたします。

  • Accessのテーブルの結合

    AのテーブルとBのテーブルがあります。各テーブルにナンバリングの項目を設定したとして、そのナンバリングをもとにAとBのテーブルを結合したいのですが、どのようにしたらいいのでしょうか?結果的にAの1とBの1を1データとして出したいのですが・・・。データ件数は各60件ほどです。よろしくお願いします.

  • Accessでテーブルをデータシートビューで開けない

    ここ数日、AccessでAテーブルをデータシートビューで開こうとすると、ODBC すべてのレコードをロックできません、というメッセージが出てしまいます。デザインビューで開くことはできるのですが、このAテーブル(リンクテーブル)を使って新規クエリを作ることもできなくなってしまいました。 前に作ったクエリは普通に開くことができます。 Aテーブルを使わずにクエリを作成すると、問題なくできます。 設定を変えた記憶はないのですが、どうしたら元通りになるのでしょうか。 よろしくお願いします。