MS Access SQL: количество записей с повторяющимися значениями PersonID и EventID на основе значения статуса - PullRequest
1 голос
/ 08 мая 2020

Эти значения представляют собой записи в одной таблице. Я пытаюсь вытащить некоторые записи, в которых человек (PersonID) может находиться в одном курсе (EventID) несколько раз с разным статусом (Status). Например, PersonID = 123456 может иметь несколько строк EventID = ACT123. Статус отличается в каждой строке со значениями «A», «W» или «D». Я хочу иметь количество PersonID, где у них есть записи со статусом «A» и «D» в одном и том же событии (EventID). Например:

PersonID = 786156, EventID = ACT123, Status = A
PersonID = 786156, EventID = ACT123, Status = D
PersonID = 685234, EventID = ACT123, Status = A
PersonID = 685234, EventID = ACT789, Status = D

Таким образом, будет выбран PersonID 786156, а PersonID 685234 - нет. Есть предложения?
отредактировано, чтобы добавить примеры

1 Ответ

0 голосов
/ 08 мая 2020

Вы можете использовать group by и having:

select personID, eventID
from mytable
where status in ('A', 'D')
group by personID, eventID
having count(*) = 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...