Упрощенно у меня есть таблица, которая выглядит следующим образом:
ID - NAME - EMAIL
1 - JIM - Jim@hotmail.com
2 - JIM - Jim@gmail.com
3 - BARRY - Barry@hotmail.com
4 - JACK - Jack@hotmail.com
Я бы хотел запросить эту таблицу и вернуть только те поля, для которых NAME имеет несколько значений EMAIL, поэтому требуемый результат:
NAME - EMAIL
JIM - Jim@hotmail.com
JIM - Jim@gmail.com
Два других (Барри и Джек) возвращать не нужно, поскольку они имеют только одно значение для электронной почты.
Я немного борюсь с производной таблицей в Access, следующее не будет работать, потому что это дает мне ошибку в предложении FROM. Есть ли другой синтаксис?
select DISTINCT x.ID, x.NAME, x.EMAIL
from t as x
join (
select ID
from t
group by ID
having count(distinct EMAIL) > 1
) as y
on x.ID = y.ID