• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセス ユニオンクエリ上手くデータを結合出来ない)

アクセス ユニオンクエリ上手くデータを結合出来ない

このQ&Aのポイント
  • アクセスのユニオンクエリを使用して商品1と商品2のデータを結合しようとしていますが、思った結果にならず困っています。
  • 希望としては、お客様の個人情報と商品1、商品2の詳細を1行で結合したいです。
  • データ作成者が不在で、周りにアクセスに詳しい人がいないため、解決策を見つけるのが難しく困っています。

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

  • ベストアンサー
  • root_16
  • ベストアンサー率32% (674/2096)
回答No.1

参考URLを見てください。 http://homepage2.nifty.com/mathpara/programing/access_fulljoin.htm 外部結合、LEFT JOIN、RIGHT JOINがキーワードです。 まず、商品1と2を買った契約者だけ抽出する。 これは出来てますよね。 そして、契約者が重複しない一覧にする(クエリでグループ化)。 ※契約者IDがあるならIDでまとめた方が考えやすい これで商品1と2だけの契約者一覧ができる・・・A 次に契約者ID、商品1の契約内容のクエリ・・・B 次に契約者ID、商品2の契約内容のクエリ・・・C を作り、 あとは参考URLと同じような考え方で作れば 出来ると思います。 また、考え方を理解すれば、 リレーションシップを工夫しても出来ると思います。 ※結合の→上で右クリック

oasis7085
質問者

お礼

お礼が遅くなってしまい申し訳ありませんでした。 参考URL見させていただきました。私に出来るか分からないですが頑張ってみます。

その他の回答 (2)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.3

いまいち状況が掴めていないので、外しているかもしれません。 私ならば、横一行にずらーっとは並べません。 比較する際にカメレオンのように目玉を動かさねばならないからです。 もし顧客ごとに一意なIDがあれば(同姓同名の人がいる場合を考慮)、ユニオンクエリで SELECT '商品1' AS F0,担当,電話番号,契約者ID,契約者名,契約者住所,商品名1 AS 商品名,契約日,支払方法,支払回数,毎月支払額,販売価格 FROM 平成21年度 商品1データ一覧 UNION ALL SELECT '商品2' AS F0,担当,電話番号,契約者ID,契約者名,契約者住所,商品名2,契約日,支払方法,支払回数,毎月支払額,販売価格 FROM 平成21年度 商品2データ一覧 ORDER BY 契約者ID,F0 ではダメかな? UNION でつなぐと重複が排除されますので、その分時間が掛かります。 UNION ALL で良いと思います。 ご参考までに。

oasis7085
質問者

お礼

お礼が遅くなってしまい申し訳ありませんでした。 残念ながら、顧客IDのようなものはないんです・・・ UNION ALL・・・参考にさせていただきます。

noname#192382
noname#192382
回答No.2

ユニオンクエリーは異なるテーブルの同じようなデータを縦方向にまとめて一つのテーブルにするのが役目。だから同じ顧客のデータは一つの行には並ぶことはありません。 選択クエリーは異なるテーブルの同じようなデータを横に並べてみせてくれるのが仕事。この場合は二つのデータは一つの行に並びます。選択クエリーで二つのテーブルをまとめるにはリレーションを使います。 あなたの場合、二つのテーブルをリレーションで関連付けをした後、選択クエリーを使ってください。

oasis7085
質問者

お礼

お礼が遅くなってしまい申し訳ありませんでした。 やはり、ユニオンクエリでやろうとしていたこと自体が間違っていたようですね・・・ 今、ちょっと忙しくなってしまい、なかなか出来ないのですが頑張ってみます。

関連するQ&A