访问 - 选择只有一列不同的不同记录

Dav*_*ley 0 select unique ms-access-2007

我有一个Access表,其中包含两列(ID和Active),其数据如下所示:

ID  |  Active
------------
123 | 0
124 | 0
125 | 0
123 | 1
314 | 1
948 | 1
Run Code Online (Sandbox Code Playgroud)

我想选择具有唯一ID(仅存在一次,而不仅仅是第一次存在)的不同记录,但我还需要Active值.如果我做了

SELECT DISTINCT ID from table1
Run Code Online (Sandbox Code Playgroud)

我得到了唯一的ID,但不是表格.它还返回123表中不唯一的.如果我做:

SELECT DISTINCT * from table1
Run Code Online (Sandbox Code Playgroud)

如果它们具有不同的Active值,我会获得重复的ID.我需要一个查询来获取唯一ID及其相关的Sheet值.它将返回以下内容:

ID  |  Active
------------
124 | 0
125 | 0
314 | 1
948 | 1
Run Code Online (Sandbox Code Playgroud)

我是否需要将它们放入两个不同的表并进行外连接?活动只有0或1.

Ces*_*Gon 7

用这个:

SELECT *
FROM table1
WHERE Id IN (SELECT Id FROM table1 GROUP BY Id HAVING COUNT(Id)=1)
Run Code Online (Sandbox Code Playgroud)

  • @大卫:我不明白。您说您想要“选择具有唯一 ID 的不同记录”;这就是我建议的答案所做的,按照您在示例返回数据中的请求,返回 id 为 124、125、314 和 948 的行。它不会返回 id 为 123 的行,因为该 id 出现两次,即它不是唯一的。我说得对吗? (2认同)