使用 UniqueRecords 属性可以指定是否只返回唯一记录,该记录基于所有基础数据来源中的全部字段,而不仅仅基于查询中出现的那些字段。
注意 UniqueRecords 属性仅应用于追加查询、生成表查询和选择查询。
UniqueRecords 属性使用以下设置:
设置 | 说明 |
---|---|
是 | 不返回重复记录。 |
否 | (默认值)返回重复记录。 |
可以在查询的属性表中,或在“查询”窗口的“SQL”视图中设置 UniqueRecords 属性。
注意 在使用 SQL 语句新建查询时,可以设置该属性。DISTINCTROW 谓词对应于 UniqueRecords 属性设置;DISTINCT 谓词对应于 UniqueValues 属性设置。
如果需要忽略的是基于整个重复记录的数据,而不仅仅是重复字段时,可以使用 UniqueRecords 属性。只要记录中某一字段值与另一个记录中同一字段的值不同,Microsoft Access 都将记录视为唯一的。
UniqueRecords 属性只有当在查询中使用多个表,并且从这些表中选择了用于查询的字段时才有效。如果查询只包含一个表,将忽略 UniqueRecords 属性。
UniqueRecords 和 UniqueValues 属性相互联系,一次只能将它们中一个设为“是”。例如,当将 UniqueRecords 设置为“是”时,Microsoft Access 自动将 UniqueValues 设为“否”。不过,可以将它们两者都设置为“否”。当两个属性都被设置为“否”时,将返回所有的记录。
该示例中的查询从“客户”表中返回那些在“订单”表中至少有一个订单的客户列表。
公司名称 | 客户ID |
---|---|
Ernst Handel | ERNSH |
Familia Arquibaldo | FAMIA |
FISSA Fabrica Inter. Salchichas S.A. | FISSA |
Folies gourmandes | FOLIG |
客户ID | 订单ID |
---|---|
ERNSH | 10698 |
FAMIA | 10512 |
FAMIA | 10725 |
FOLIG | 10763 |
FOLIG | 10408 |
下面的 SQL 语句返回下表中的客户名称;
SELECT DISTINCTROW Customers.CompanyName, Customers.CustomerID
FROM Customers INNER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID;
返回的客户 | 客户ID |
---|---|
Ernst Handel | ERNSH |
Familia Arquibaldo | FAMIA |
Folies gourmandes | FOLIG |