1

Accessを使用して、3台のオフラインコンピューターのデータベースに詳細を入力しています。つまり、全員がデータベースのコピーを持っており、1日の情報入力を行ってから、中央データベースに手動でアップロードします。恐ろしいですが、それが唯一の選択肢です。

私は事前に入力されたデータベースを持っています、キー識別子などはすべて以前に決定されています。これらのエントリの空白のフィールドに情報を追加しています。(3つのキーフィールドから開始し、いくつかの情報フィールドを追加しました)。ユーザーはエントリを作成するのではなく、エントリを選択して編集します。次に、各テーブルを取得し、3つのデータベースをそれぞれのテーブルに結合するスクリプトを使用します。ユーザーは作業を複製しません(つまり、エントリAで作業しているジャックとエントリAで作業しているジルがいないことを意味します)。

私の質問:ユニオンクエリで、塗りつぶされていないエントリも含めてすべてのエントリを選択し、塗りつぶされたエントリを優先させるにはどうすればよいですか?(別名、2つの未入力のエントリの代わりに入力済みのエントリを選択して、「重複エントリ」エラーをバイパスしますか?)

元:

JOHN's DB            JACK's DB              JILL's DB      --->      MASTER DB
A: 1, 1, __          1, 1, __              1, 1, "Yes"              1, 1, "Yes"
B: 1, 2, "No"        1, 2, __              1, 2, __                 1, 2, "No"
C: 1, 3, __          1, 3, __              1, 3, "No"               1, 3, "No"

これを行うには完全にひどい方法ですが(つまり、オフラインテーブルを結合する)、他の多くの制御できない要因のために、他に選択肢はほとんどありません。

4

1 に答える 1

0

どうですか

 SELECT Id, Max(Field) 
 FROM ( Select Id, Field FROM John
        Union All ...)
 GROUP BY Id
于 2012-08-08T12:46:08.257 に答える