• ベストアンサー

3つの表を1つに縦に連結する

3つの表W、X、Yがあって、 これらの列を縦に連結して表Zに するにはどのようにすれば良いでしょうか? ちなみにDBはAccess2000です。 宜しくお願いします。 表W F1|F2 ----- A |B A |B 表X F1|F2 ----- C |D C |D 表Y F1|F2 ----- E |F E |F 表Z F1|F2 ----- A |B A |B C |D C |D E |F E |F

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

  • ベストアンサー
  • Silent-G
  • ベストアンサー率15% (2/13)
回答No.3

横やりで申し訳ないのですが、 bin-chanさんの方法だと同じ内容の行が1行に まとまってしまうので、"UNION ALL"を使いましょう。 (1) 新規クエリーをデザインビューで作成する。 (2) テーブルの表示のダイアログを何もせずに閉じる。 (3) SQLビューにする。 (4) 以下のSQL文を貼り付けて適当な名前で保存。 SELECT * INTO Z FROM( SELECT * FROM W UNION ALL SELECT * FROM X UNION ALL SELECT * FROM Y); (5) 作成したクエリーを実行する。

su-ta
質問者

お礼

>回答者の皆様 ありがとうございました! 解決しました!

その他の回答 (2)

noname#19602
noname#19602
回答No.2

No1回答にある、本当に表Zをテーブルにする初心者にも出来る方法 1 クエリの新規作成で表Wの選択クエリを作成 2 クエリのデザイン面で、クエリ、テーブル作成でテーブル名を表Zとして実行(!マーク)。テーブルが出来たことを確認。 3 クエリの新規作成で表Xの選択クエリを作成 4 クエリのデザイン面で、クエリ、追加で追加テーブル名を表Zとして実行(!マーク)。 5 同じく表Yで3,4をくりかえす。 6 クエリは保存しなくても良い。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

クエリで作成するならUNIONを使用します。 select F1,F2 from 表W union select F1,F2 from 表X union select F1,F2 from 表Y ; これを表Zとして作成して使用する。 ほんとに表Zとしてテーブルにするなら 表Zを作成しておいてそれぞれを追加する。

関連するQ&A