隔离具有多个值的记录(派生表)

时间:2019-01-14 09:11:50

标签: ms-access unique

简而言之,我有一个看起来像这样的表:

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

其他两个(Barry和Jack)不需要返回,因为它们只有一个电子邮件值。

我在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 

2 个答案:

答案 0 :(得分:1)

尝试一下

<div style="width: 100%; background-color: green;">
    <button type="button">A</button>
    <button type="button">B</button>
    <button type="button">C</button>
</div>

答案 1 :(得分:1)

尝试一下:

select x.ID, x.NAME, x.EMAIL
from t as x
where x.NAME in (
    select t.NAME
    from t
    group by t.NAME
    having count(*) > 1)