• ベストアンサー

アクセスで片方のテーブルを優先して抽出する方法

アクセスのデータ抽出で質問です。 画像のように「テーブル1」と「テーブル2」があり、クエリで「結果」のようにデータを抽出したいです。 一応出来てはいるのですが、もっとすっきりしたやり方があれば教えて下さい。 <やりたいこと> ・テーブル1とテーブル2のフィールド2を比較し、フィールド1を基準としてテーブル2にデータがあればそちらを抽出、なければテーブル1から抽出したい <現在のやり方> 1)テーブル1とテーブル2の差分クエリを作成 2)1)の差分クエリとテーブル2のユニオンクエリを作成 上記以外のスマートなやり方があれば是非知りたいと思っております。 よろしくお願いいたします。

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

  • ベストアンサー
  • panacon
  • ベストアンサー率31% (214/679)
回答No.1

テーブル1とテーブル2をフィールド1で連結するクエリで、テーブル1のすべてを含める矢印にします。 クエリに出力するフィールドは、テーブル1のフィールド1とフィールド2:演算、の形にします。 演算の部分は、下記のように書くとできます。 IIF([テーブル2].[フィールド2] is null,[テーブル1].[フィールド2],[テーブル2].[フィールド2])

shima-008
質問者

お礼

ありがとうございます!希望通りの結果がでました。 通常のクエリでIIFで分岐させるのは盲点でした。 とてもすっきりしていて感動しました。

関連するQ&A

専門家に質問してみよう