ms-access - 隔离具有多个值的记录(派生表)
问题描述
过度简化我有一个看起来像这样的表:
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)不需要返回,因为它们只有一个 email 值。
我在 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
解决方案
尝试这个:
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)
推荐阅读
- docker - 无法在 Kubernetes 中使用 hostPath '/var/lib/docker/containers' 作为卷
- angular - Angular 6如何将选中的复选框传递给ngModel
- r - R中函数内嵌套变量的for循环
- ios - 如何在 Swift 4 中将字符转换为 Int?
- hadoop - Hadoop 块计数计算
- xaml - ListView 无法滚动
- asp.net - 如何在同一 VM 主机上使用基于 Asp.Net 的网站托管多个 IIS docker 容器
- ruby-on-rails - Rails Bundle Install 使用 Docker 失败
- php - 从数组创建表
- netflix-zuul - 如何在一个网关应用中创建多个 Zuul 过滤器