- ベストアンサー
ACCESSについて
Accessで以下のように処理したいのですが、方法を教えてください。 下記のように2つのテーブル1、2があり、それぞれ一つずつの項目(A、B)があります。 テーブル1 テーブル2 項目A 項目B 001 002 002 004 005 006 006 007 008 008 これをクエリーを使って、 クエリー0 テーブル1.項目A テーブル2.項目B 001 002 002 004 005 006 006 007 008 008 と表示させたいのですが、どうしたらいいでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こういう結合をフル外部結合といいます ただしAccessはこの結合をサポートしていませんので 右外部結合したものと左外部結合したものを ユニオンクエリで重複無しで、たてに結合します SELECT テーブル1.項目A, テーブル2.項目B, nz(テーブル1.項目A, テーブル2.項目B) as A FROM テーブル1 LEFT JOIN テーブル2 ON テーブル1.項目A = テーブル2.項目B union SELECT テーブル1.項目A, テーブル2.項目B,nz(テーブル1.項目A, テーブル2.項目B) as A FROM テーブル1 right JOIN テーブル2 ON テーブル1.項目A = テーブル2.項目B order by A 3つ名のフィールドは並べ替えのために作ったものです 必要なければはずしてください 結果 項目A 項目B A 001 001 002 002 002 004 004 005 005 006 006 006 007 007 008 008 008
その他の回答 (1)
- kurodai2
- ベストアンサー率38% (77/202)
1つのクエリーでは、無理ではないでしょうか。 また、欲しい結果の項目に並びの基準となる項目も設けないと お書きになっている 2つの項目ではこのように並びませんね。 (お互いに、歯抜けが存在するので) ・テーブル1とテーブル2をUNIONで結合させた情報をベースに 番号の全一覧を取得する 001 002 ・ ・ 008 ・この全番号のクエリーに対して、左外部結合で テーブル1、テーブル2を結合する。 番号 テーブル1.項目A テーブル2.項目B 001 001 002 002 002 004 004 005 005 006 006 006 007 007 008 008 008 番号で、オーダー指定