Доступ - выберите отдельные записи, в которых различен только один столбец. - PullRequest
0 голосов
/ 04 марта 2010

У меня есть таблица Access с двумя столбцами (ID и Active) с данными, подобными следующим:

ID  |  Active
------------
123 | 0
124 | 0
125 | 0
123 | 1
314 | 1
948 | 1

Я хочу выбрать отдельные записи с уникальным идентификатором (которые существуют только один раз, а не только в первый раз), но мне также нужно значение Active. Если я сделаю

SELECT DISTINCT ID from table1

Я получаю уникальные идентификаторы, но не лист. Он также возвращает 123, который не уникален в таблице. Если я сделаю:

SELECT DISTINCT * from table1

Я получаю дубликаты идентификаторов, если они имеют разные активные значения. Мне нужен запрос, чтобы получить уникальные идентификаторы и связанные с ними значения листа. Будет возвращено следующее:

ID  |  Active
------------
124 | 0
125 | 0
314 | 1
948 | 1

Мне нужно поместить их в две разные таблицы и выполнить внешнее соединение? Активен только 0 или 1.

Ответы [ 3 ]

7 голосов
/ 04 марта 2010

Используйте это:

SELECT *
FROM table1
WHERE Id IN (SELECT Id FROM table1 GROUP BY Id HAVING COUNT(Id)=1)
1 голос
/ 23 мая 2013

Для всех остальных, если вы хотите, чтобы по крайней мере одна запись возвращалась для каждого идентификатора, исключая любые дубликаты после этого. Будет работать запрос, подобный подзапросу CesarGon, при условии, что вы хотите первый или последний результат для Active:

SELECT ID, First(table1.Active) as Active FROM table1 GROUP BY ID;

Это даст вам то, что вы хотите:

ID  |  Active
------------
123 | 0
124 | 0
125 | 0
314 | 1
948 | 1

Если вы хотите последнее значение для Active:

    SELECT ID, Last(table1.Active) as Active FROM table1 GROUP BY ID;

Это даст вам:

ID  |  Active
------------
123 | 1
124 | 0
125 | 0
314 | 1
948 | 1
0 голосов
/ 03 апреля 2018

Try ВЫБЕРИТЕ DISTINCT ID, Макс (ACTIVE) из таблицы 1

Дать

ID | Активный

124 | 0 125 | 0 123 | 1 314 | 1 948 | 1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...