• ベストアンサー

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 と表示させたいのですが、どうしたらいいでしょうか?

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.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)
回答No.1

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 番号で、オーダー指定

関連するQ&A