联盟查询 - >在Jet中重复值时选择一个

时间:2012-08-08 12:18:43

标签: ms-access union jet duplicate-removal

我正在使用Access在3台脱机计算机上填写数据库中的详细信息。这意味着他们都拥有数据库的副本,做一天的信息填写,然后手动上传到中央数据库。可怕,但这是唯一的选择。

我有一个预先填好的数据库,密钥标识符等都是先前确定的;我们正在为这些条目的空白字段添加信息。 (从3个关键字段开始,添加了一些信息字段)。用户选择一个条目并对其进行编辑而不是创建一个条目。然后,我使用一个脚本,将每个表和三个数据库联合成一个表。用户不会重复工作(这意味着你没有杰克在条目A上工作以及吉尔在条目A上工作)。

我的问题:如何让我的联合查询选择所有条目,即使是未填充的条目,但让填充的条目优先? (通过选择填写的条目而不是两个未填充的条目来绕过“重复条目”错误?)

例如:

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"

完全可怕的方法(联合离线表,即),但由于许多其他无法控制的因素,我们别无选择。

1 个答案:

答案 0 :(得分:0)

怎么样

 SELECT Id, Max(Field) 
 FROM ( Select Id, Field FROM John
        Union All ...)
 GROUP BY Id