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

A 回答 (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) 作成したクエリーを実行する。
    • good
    • 1
この回答へのお礼

>回答者の皆様

ありがとうございました!
解決しました!

お礼日時:2003/11/04 22:33

No1回答にある、本当に表Zをテーブルにする初心者にも出来る方法


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

クエリで作成するならUNIONを使用します。



select F1,F2 from 表W
union
select F1,F2 from 表X
union
select F1,F2 from 表Y
;

これを表Zとして作成して使用する。



ほんとに表Zとしてテーブルにするなら
表Zを作成しておいてそれぞれを追加する。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qデュアルディスプレイを縦と横で使う場合のマウス移動

デュアルディスプレイを縦と横で使う場合のマウス移動に不満があります。
左に縦ディスプレイ。右に横ディスプレイを置いて使っているのですが、
横ディスプレイから縦ディスプレイのマウス移動は何の障害もなく移動できるのですが、
縦ディスプレイから横ディスプレイのマウス移動の場合が縦ディスプレイの上半分からしか横ディスプレイにマウス移動ができません。縦ディスプレイの下半分からマウス移動しようとすると壁があるみたいに止まって移動できません。
縦ディスプレイから横ディスプレイにマウス移動する際に縦ディスプレイと横ディスプレイの境界全域からマウス移動できるようにするにはどうしたらいいのでしょうか?
どなたか教えて下さい。よろしくお願いします。

OS Windows XP
ディスプレイ LG w2261vg & LG w2246
グラフィックボード GeForce9500GT

Aベストアンサー

つまり、横ディスプレイの下縁よりも下から横ディスプレイに入ろうとした時に、横ディスプレイの下縁までジャンプしてほしい、ということですか?

Q【Access抽出方法】 表A-表B=表C は?

Accessを使って2つの表からデータを抽出する方法を
教えてください。

やりたいことは引き算です。
 表A - 表B = 表C

表Aには全取引会社がリストとして入っています。
表Bには得意先の会社だけが入っています。
表Aの中に入っている会社から表Bの得意先以外の
会社だけを表Cとして出したいのですが、
どうするのでしょうか?

実は今、これを手作業で1つ1つ検索削除をやってます。
どなたかお助けください!

Aベストアンサー

テーブルが取引先と得意先
キーが会社CDとすると

SELECT 取引先.*
FROM 取引先 LEFT JOIN 得意先 ON 取引先.CD = 得意先.CD
WHERE (得意先.CD) Is Null;

取引先全レコードと得意先レコードをキーで結びつけて
そのうち得意先レコードがない(null)のレコードを選択する。

Q名刺の縦・横の使用率

こんにちは。
名刺を作るにあたり縦にするか横にするか迷っています。
参考までに名刺の縦と横の使用率を知りたいのですが、ご存知の方いらっしゃいませんか?縦と横、どちらが多いか教えて下さい。
宜しくお願い致します。

Aベストアンサー

普通は、縦使いの縦書きでしょう。
最近は、横使いの横書き方が多いと思います。
縦使いの横書きもたまにあります。
ちなみに私は、縦使い縦書きと横使い横書きの二種類を使分けています。
縦書きを貰った方には、縦書きを渡す。
横書きの方には、横書きを渡す。てな具合に使分けています。
ご参考まで

Q2つのテーブルAとBをマージして新しいテーブルCを作成したいのです。

2つのテーブルAとBをマージして新しいテーブルCを作成したいのです。マージするときは、最新の売上日フィールドをもつレコードを取得します。環境はAccess2000です。どんなSQL文を作成すればいいのでしょうか? 
また、テーブルAにしかないレコード、又はテーブルBにしかないレコードは、そのままテーブルCに追加したいです。
※下記テーブルAとBは、Access内に存在します。テーブルCはAとBのマージ後の結果作成されるテーブルです。

テーブルA
顧客番号   売上日   商品名   備考
   1  2000-01-01  ふでばこ   A
   2  2000-02-02  鉛筆     A
   3  2000-03-03  定規     A
   4  2000-04-04  シャーペン  A
  99  2000-09-09  パソコン   A

テーブルB
顧客番号   売上日   商品名   備考
   4  2001-04-04  シャーペン  B
   2  2000-02-02  鉛筆     B
   3  2001-03-03  定規     B
   1  1999-01-01  ふでばこ   B
 100  2005-11-11  ワープロ   B


テーブルAとBを、最新の売上日の条件でレコードを取得し新しいテーブルCを作成する。

テーブルC
顧客番号   売上日   商品名   備考
   1  2000-01-01  ふでばこ   A
   2  2000-02-02  鉛筆     A
   3  2001-03-03  定規     B
   4  2000-04-04  シャーペン  A
  99  2000-09-09  パソコン   A
 100  2005-11-11  ワープロ   B

SQL文で処理可能なのでしょうか?

2つのテーブルAとBをマージして新しいテーブルCを作成したいのです。マージするときは、最新の売上日フィールドをもつレコードを取得します。環境はAccess2000です。どんなSQL文を作成すればいいのでしょうか? 
また、テーブルAにしかないレコード、又はテーブルBにしかないレコードは、そのままテーブルCに追加したいです。
※下記テーブルAとBは、Access内に存在します。テーブルCはAとBのマージ後の結果作成されるテーブルです。

テーブルA
顧客番号   売上日   ...続きを読む

Aベストアンサー

サブクエリでネストしても出来ない処理があるのでクエリを分けた方が簡単ですよ。
単純にするなら3つ

'qry1として
SELECT テーブルA.顧客番号, テーブルA.売上日, テーブルA.商品名, テーブルA.備考
FROM テーブルA
UNION SELECT テーブルB.顧客番号, テーブルB.売上日, テーブルB.商品名, テーブルB.備考
FROM テーブルB;

'qry2として
SELECT qry1.顧客番号, Max(qry1.売上日) AS 売上日の最大, qry1.商品名
FROM qry1
GROUP BY qry1.顧客番号, qry1.商品名;

'qry3として
'テーブルCを作成するなら
SELECT qry2.顧客番号, qry2.売上日の最大 AS 売上日, qry2.商品名, qry1.備考 INTO テーブルC
FROM qry2 INNER JOIN qry1 ON (qry2.売上日の最大 = qry1.売上日) AND (qry2.顧客番号 = qry1.顧客番号)
GROUP BY qry2.顧客番号, qry2.売上日の最大, qry2.商品名, qry1.備考;

'既存のテーブルCに追加するならこちらで
INSERT INTO テーブルC ( 顧客番号, 売上日, 商品名, 備考 )
SELECT qry2.顧客番号, qry2.売上日の最大, qry2.商品名, qry1.備考
FROM qry2 INNER JOIN qry1 ON (qry2.売上日の最大 = qry1.売上日) AND (qry2.顧客番号 = qry1.顧客番号)
GROUP BY qry2.顧客番号, qry2.売上日の最大, qry2.商品名, qry1.備考;

サブクエリで処理できるところもありますがその辺はご自分でネストしてみてください。

サブクエリでネストしても出来ない処理があるのでクエリを分けた方が簡単ですよ。
単純にするなら3つ

'qry1として
SELECT テーブルA.顧客番号, テーブルA.売上日, テーブルA.商品名, テーブルA.備考
FROM テーブルA
UNION SELECT テーブルB.顧客番号, テーブルB.売上日, テーブルB.商品名, テーブルB.備考
FROM テーブルB;

'qry2として
SELECT qry1.顧客番号, Max(qry1.売上日) AS 売上日の最大, qry1.商品名
FROM qry1
GROUP BY qry1.顧客番号, qry1.商品名;

'qry3として
'テーブルCを作成す...続きを読む

Q人間関係で、縦の繋がりと横の繋がりのどちらが大事だと思いますか?

人間関係で、縦の繋がりと横の繋がりのどちらが大事だと思いますか?

1.縦
2.横

Aベストアンサー

自分の力でのし上がるなら「横」
世の中の力に抵抗出来ないなら「縦」

QACCESSでファイル(D/B)が開けない

ACCESSのファイルを開こうとしたら「未定義関数×××があります」と表示され、今まで普通に開けていたファイルが突然開く事が出来なくなりました。他のファイルで開けるものもあります。
ACCESSを再インストールしたり、メニューのツールからD/Bの修復作業もやってみましたが解消されません。
どなたか教えていただけませんか。

Aベストアンサー

メッセージ「未定義関数×××があります」は
「×××」という名称のプロシージャを見つけられないという
内容のメッセージです。

===今までの経験から推測すると===
プロシージャ名に漢字を使用する事は出来ますが
Access2000になってから漢字を含むプロシージャ名は参照でき
なくなる事があります。それも突然。クエリーで参照している場合は特に。

===エラー箇所の特定===
「Autoexec」というマクロがあると、起動時にこのマクロが
まず最初に自動で実行されます。
Shiftキーを押しながらMDBを起動すると、この「Autoexec」を
実行せずにMDBを立ち上げる事が出来ます。
(表示されるのはMDBのみです。)
この状態で、「Autoexec」の中で、「未定義関数×××があります」
の「×××」にあたるプロシージャを参照していないか、あるいは、
クエリーを実行していてそのクエリーの中で「×××」を参照して
いないかなど、処理の中で「×××」を参照している箇所を調査します。

===対処方法===
プロシージャ名を、漢字を含まず英字のみの名称に変更します。
 (1)プロシージャ「×××」をコピーし、英字名のみの別プロシージャを
  作成します。
 (2)上のエラー箇所の特定で何処でエラーになるか特定できていれば、
  プロシージャ「×××」ではなく新たに作成したプロシージャを
  参照するように変更します。
 ※既存の「×××」は、他の箇所でも参照しているかもしれないので、
  そのまま残して置きます。

メッセージ「未定義関数×××があります」は
「×××」という名称のプロシージャを見つけられないという
内容のメッセージです。

===今までの経験から推測すると===
プロシージャ名に漢字を使用する事は出来ますが
Access2000になってから漢字を含むプロシージャ名は参照でき
なくなる事があります。それも突然。クエリーで参照している場合は特に。

===エラー箇所の特定===
「Autoexec」というマクロがあると、起動時にこのマクロが
まず最初に自動で実行されます。
Shiftキーを押しながらMDBを起動す...続きを読む

Q印刷の用紙が,縦向き,横向きのときページの打ち方

印刷用紙が,縦向き,横向き様々です。
ページ番号も自動についています。

印刷が縦向きならば,下にページ番号がでます。
印刷が横向きならば,横向きの下にページ番号がでます。

わたくしが行いたいことは,印刷が縦向き,横向き混ざっていて,ページ番号がついているとき,全てのページ番号の位置を縦向きの下にしたいのです。
ーーー
|  |
|  |
|  |
|  |
| 7 |
ーーー

ページ番号が横向きの時は,横に出ているので困っています。全て縦向きにページ番号をしたいのですが,できるでしょうか???

ソフトは,ワードの「挿入」「参照」「牽引と目次」を使って,ページ番号を付けています。

教えてください。よろしくお願い致します。

Aベストアンサー

> 横向きの用紙の下の数字を,レイアウト枠を移動して,横の左へ移動しました。
すると,縦向き用紙の下の数字も,縦向きの横の左中央についてしまいます。全く困っています。

横長のページの次の縦長のページのフッターで、「前と同じ」を解除します。

詳しくは、下記のURLの「用紙の向きを縦・横混在で作成する(セクション区切り)」の項をご参照ください。

「Word(ワード)講座 Q&A(Tips):書式関連」
http://www.eurus.dti.ne.jp/~yoneyama/Word/qanda/q_syosi.html

QSQLについて教えてください テーブルAの項目はF

QLについて教えてください
テーブルAの項目はF1,F2,F3で内容が
F1,F2,F3
1, 0, 0
1, 1, 0
1, 1, 1
1, 1, 2
2, 1, 1
2, 1, 2
3, 1, 0
3, 2, 2
3, 2, 3
F1をグループ化しF2の最大値の中でさらにF3が最大の行を取得したいのですが
どのようなSQLにすればよいてすか?

Aベストアンサー

こんな感じでもいいかもしれません。

select *
from テーブルA T1
where not exists (
select *
from テーブルB T2
where T2.F1 = T1.F1
and (T2.F2 > T1.F2 or (T2.F2 = T1.F2 and T2.F3 > T1.F3))
);

Q縦、横、高さは英語ではどのように書きますか

(1)元の単語
縦depth、横width、高さheightでいいでしょうか。

(2)順番
最初に縦、次に横、最後に高さの順に書くのでしょうか。

(3)記号
日本語では「縦60cm×横120cm×高さ200cm」のように「×」を用いて書きますが、英語ではどの様な記号を用いるのでしょうか。

(4)次の文を英訳していただけないでしょうか。
(a)この箪笥(wardrobe)は、縦20インチ、横40インチ、高さ70インチです。
(b)縦20インチ×横40インチ×高さ70インチ
※(b)はカタログの商品説明として書かれているものと考えてください。

Aベストアンサー

(1)okです。
(2)幅(ここで言う横かな?)・奥行き(ここでは縦?)・高さの順で書きますよ
   (確かこの順番ってISOやJISで書き方の定義がされていたはずですよ)

(3)英語でも×マークを使って記載します。
   800W×700D×500Hなんて書き方はよくみますよ。

(4)(3)を参考にすればわかると思いますが
    the size of tihs wardrobe is 40”W×20”D×70”H
    (インチは”で通用します)みたいな感じで書きます。

QテーブルA、Bで、項目の重複の有無確認をしたい

CSVファイルからレコードをインポートしたテーブルAがあります。
インポートした後に処理済みレコードを累積収納するテーブルBがあります。
インポート後、テーブルAのレコードをもとに処理してCSVファイルをエクスポートして、処理済みレコードをテーブルBに移しています。
テーブルA、同Bには「日付」項目があります。

テーブルAにインポート後、処理を実行する際に、テーブルBの日付とテーブルAの日付の重複がないことを比較チェックし、もし重複があればメッセージを出して処理を中断させたいのです。


If~Then~Else、IsNull、DLoolup関数を使って試みましたが、うまくいきません。
VBAでどのような記述をすればいいでしょうか?

Aベストアンサー

dcount("日付","テーブルA","日付 in(select 日付 from テーブルB")
とか?


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報