プロが教えるわが家の防犯対策術!

お知恵をかしてください。
Aテーブル
No   商品名  金額
1     AAA  1,111
3     CCC1  3,333
3     CCC2  3,333
5     EEE  5,555  
Bテーブル
No   商品名    金額
1    AAAAA   11,111
2    BBBBB   22,222
4    DDDDD   44,444
5    EEEEE1   55,555
5    EEEEE2  55,555

をNOで結合して
Cテーブル
AかBNo A商品    A金額     B商品   B金額
1     AAA    1,111    AAAAA  11,111
2     ブランク           BBBBB  22,222
3     CCC1    3,333    ブランク
3     CCC2    3,333    ブランク
4     ブランク          DDDDD   44,444
5     EEE     5,555   EEEEE1  55,555
5     ブランク          EEEEE2  55,555

というテーブルを作成したいのですが、(AテーブルBテーブルのNoが一緒だったら1行目は行を1行にしたい。)ということは可能でしょうか?
詳しい方教えてください。

A 回答 (4件)

可能ですよ。


なんで新しいテーブルを作るのかは疑問ですが…
(表示可能な場合はテーブルを作らないのが原則)
ただSQL一発でやろうとすると結構複雑になるかも。
どのような手法でやりたいですか?

この回答への補足

ご回答ありがとうございます。
質問には載せてなかったのですが、NOに複数の枝番がある形なんです。
1-1、1-2、1-3・・・・2-1、2-2・・・のような感じで・・・
Aテーブル、Bテーブルそれぞれ枝番の数は決まってないです。
結果n対nになるんです。(集計は枝番付きのNOは別フィールドにしています。)
やり方は、SQLまたは、VBAが良いのですが、(ACCESSのクエリ機能でも・・・)簡単な方法があれば、
ご回答いただきたいです。

補足日時:2006/11/21 14:06
    • good
    • 0

一番簡単なのはクエリで


クエリ1:A→B

クエリ2:B→A
を作ってクエリ3で
SELECT * FROM クエリ1
UNION
SELECT * FROM クエリ2
と結合しちゃえば出来ますよ。
テーブルに書き込むなら
loopでまわして一個ずつdlookupとかで探すとか…
    • good
    • 0

UNIONでやっちゃうとうまくいかないですね…


すみません。
きっとSQL1発ででうまく行くやり方ありますが
めんどうな感じになりそうなので後者のLOOPで
テーブルAの値があるなしでの条件分岐で
1個ずつ見てく方がよいかも。

この回答への補足

ご回答ありがとうございます。
SQLは面倒・・・なんですね・・・。
上記の方法だと、excelでのVBAの方が良さそうですね。
素人なので、accessのSQLで何となく出来そう!と思ったんですが、
excelでやった方が良いということが判って良かったです。

補足日時:2006/11/21 17:00
    • good
    • 0

Aテーブルを T1、BテーブルをT2、とし


[No] を [ID] とすると(No はAccessの予約語なので)
下記を新たなクエリのSQLビューに貼り付けてデータシートビューで見ると
両テーブルに含まれる番号だけの一覧がでてきます。
これを、Q1 とします
select ID from T1
union
select ID from T2;

でこのクエリを元にして。
もう1個新たなクエリを作ります。
先ほどのQ1とT1、T2 を入れて
Q1.ID ---→T1.ID
   \--→T2.ID のように結合線を引くとお望みの結果になるのでは?
   

クエリ一発なら下記のSQLで行けないかな?
SELECT T0.ID, T1.商品名, T1.金額, T2.商品名, T2.金額
FROM ([select ID from T1
union
select ID from T2]. AS T0
LEFT JOIN T1 ON T0.ID=T1.ID) LEFT JOIN T2 ON T0.ID=T2.ID;
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
希望通りできました!
本当にありがとう御座います!
(前々から、これができたら楽だと思ってたので・・・)
今後も、いろんなことに応用させていただきます★

お礼日時:2006/11/22 15:26

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

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