• ベストアンサー

複数のテーブルをつなげる

(SQLデータベース)同じフィールド構成になっているテーブルを複数つなげて、あたかも一つのテーブルのようにすることは可能ですか?  SQLでビューみたいなのを作ったり、直接Reportingソフト上の関数(VB)で作ったりしたいです。    目的は、CrystalReport(Reportingソフト)で、リンク関係のない3つのテーブルをリストし、検索できるようにする、です。  質問が分かり難いかもしれませんが、もしお分かりになる方があれば教えてください!

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

  • ベストアンサー
  • cse_ri2
  • ベストアンサー率25% (830/3287)
回答No.2

失礼。同じフィールド構成でしたね。 その場合は、複数のSelect文をUNION句で結合する手法を 使います。 使用しているDBMSでUNION句が使用できるかどうか、確認 してください。

ayami-m
質問者

お礼

ご丁寧にありがとうございます!  UNIONを使って結合する事ができました。   とっても助かりました。 本当にありがとうございました。

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

その他の回答 (1)

  • cse_ri2
  • ベストアンサー率25% (830/3287)
回答No.1

Select文で複数テーブルを結合した検索結果を取り入れる だけですが... 別にビューは作らなくてもできますよ。 SQL文の入門書をよく読んで勉強してください。 参考URLでSQL入門のHPを紹介します。

参考URL:
http://www.ann.hi-ho.ne.jp/hirok/sql/
全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 複数データベースでのテーブル共有

    SQL Server初心者です。 下記のことが可能かどうか教えてください。 現在、社内ASP Webシステムが10個くらいあります。 バックエンドデータベースとしてAccessを使用していますが、ファイルサイズが数十メガになってしまったものもあり、これらをすべてSQL Serverに移行しようと考えています。 Accessでは、複数のデータベースで共有したいテーブルがある場合、リンクテーブルとして共有できるため、これらのWebシステムでも社員情報テーブルをすべてリンクテーブルで共有しておりました。 SQL Serverに移行した場合、Accessのようにテーブルを共有することはできるのでしょうか? ご教授のほどよろしくお願いします。 バージョン: SQL Server 2000

  • ConboBoxのリストを複数表示するには

    VB.NET初心者です。 Win2003Server+SQL2000+VB.Net2005の組合せで使っています。 Form1というフォームにDataSet1を貼り付けています。 DataSet1にはSQL2000の稟議書というデーターベースの 氏名というテーブルがセットしています。 氏名というテーブルには 氏名 住所 TEL というフィールドがあります。 この3つのフィールドをConboBoxに全て表示したいのですが つまりConboBoxのリストに 氏名 住所 TEL と表示したいのですが どうしたらいいのでしょうか。 ご存知の方教えてください。

  • ビュー定義をプログラムで動的に扱う方法

    ビュー定義をプログラムで動的に扱う方法 SQLServer2008+VB6(ExcelVBA)構成のシステムで、日付フィールドを含むテーブルのビューを作成しておき、VBプログラムからSQL文でビューを呼び出す時、日付範囲を指定して絞り込まれた結果をビューで返したいのですが、ストアドを使わずにビューだけで実現することはできないでしょうか?

  • 複数データベースへの問い合わせ

    同一サーバーに(DB1,DB2,DB3)と複数のデータベースがあった場合(ユーザーは同じです)、SELECTの際に複数のDBに対しての問い合わせをすることはできるのでしょうか? それぞれのデータベースはテーブルも全く同じ構造で、 そこから特定のフィールドのレコードだけを引っ張り出して使いたいのですが、SQLをどのように書いていいのかがわかりません・・・ ヒントだけでもいただけると嬉しいです。よろしくお願いします。

  • 複数選択するとテーブルに反映されなくなります

    ソフトはACCESS2000です。 フォームでの入力で、リストボックスから複数選択できるようにしているのですが、そうすると、元のテーブルへ選択したデータが反映されません。 複数選択をしないにすれば、問題なく反映されます。 そもそも、複数選択で、1つのフィールドに反映させることはできないのでしょうか。 いや、そんなことない、できる、なら、どこをどうすれば良いでしょうか。 ※お礼は月曜以降になりますが、よろしくお願いいたします。

  • access・複数のテーブル・重複除外したデータ

    accessで複数のテーブルで重複しないレコードだけを抽出するSQL文を知りたいです。 フィールドは多数あり、「フィールドの内容が全て一致するレコード」以外のレコードを 重複しないレコードとして抽出したいと思っています。 テーブルは3つ以上ありますが、2つのテーブルで実行するSQL文でかまいません。

  • accessのテーブルをテーブルリンクさせたい

    accessのテーブルのデータをSQLサーバーにテーブルリンクさせたいのですが どうやればいいでしょう? 新しいデータベースを作って右クリックしましたがそのようなメニューは探せません。

  • SQL 同じテーブル構造の複数のテーブルから重複なしでデータを取得

    テーブル名が違うだけで同じテーブル構造のテーブルが複数個あります。 仮にテーブル名を、A、B、C、Dの4個だとします。 テーブル名を格納するテーブルがあるので、そこから取得する方法でも構いません。 それらのテーブルから、フィールド名[名前]のデータを重複なしで取得したいのですが、SQL文が思いつきません。 取得するフィールドは[名前]だけです。 私の使用している環境はPostgreSQL8.1.9です。 SQL文を教えてください。よろしくお願いします。

  • 一つのフィールドに複数の情報を持たせたいです。

    データベースに詳しい方!一つのフィールドに複数の情報を持たせたいです。 例えば複数のユーザを管理するテーブルにあるID(フィールド)を 複数個をデータベースに保存する場合どうすればいいのでしょうか? 言語はJavaで、データベースはMySQLを使っています。 ↓↓各フィールド(例) -------------------------- || userName || userID || ○○ID || -------------------------- 上記の 「○○ID」というフィールド に複数の値を持たせたいのです。 String型の配列、もしくはXMLをMySQLの一つのフィールドに保存する 事はできるのでしょうか? (もし出来るのならこちらを採用したいです) それとも○○IDに関連するテーブルを作成する(?) それか最悪の場合、ユーザが増えるたびにテーブルを一つ作成 して管理するか・・・・(避けたいです) 宜しくお願いします。

    • ベストアンサー
    • MySQL
  • 複数テーブルの結合

    マスターテーブル1つと、子テーブルが複数存在して子テーブルにはマスターテーブルのidを格納するフィールドがあり参照しなくなったときにはそのidを消去するといったデータベースがあったときにマスターIDごとに子テーブルのどれか1つでも参照していればカウントするみたいなSQLをつくりたいんですが select count(m.id) from master m inner join a on m.id = a.m_id inner join b on m.id = b.m_id inner join c on m.id = c.m_id group by m.id みたいなSQLだとAにデータが存在しなければB以降に存在しても期待した結果が出力されません。A、B、Cいずれかのm_idとマスター側のIDが等しければカウントするという出力をするためにはどのように書けばいいんでしょうか。 わかりづらい説明で申し訳ありませんがよろしくお願いします。

    • ベストアンサー
    • MySQL