我正在尝试创建一个Access 2013数据库查询,以显示所有拥有多种类型保险的保险单持有人。我对只有一种保险的投保人不感兴趣。如果投保人有多个类型的保险,我需要一个列表,显示投保人的“名称”和每个唯一的保险“类型”。
数据库表名为“保险”,包含大量记录字段,但我只需要隔离两个记录字段。以下是15条记录的样本:

因此,在上述例子中,我对“琼斯”或“米勒”并不感兴趣,因为他们只有一种保险。由于“Smith”、“Brown”、"Davis“和"Wilson”有多种类型的保险,我需要列出它们的名称和每一种不同类型的保险。对于上面的示例,查询将产生以下结果:

谢谢你的帮助。
发布于 2015-09-11 19:45:15
-- this should work for a starter
select distinct MyTable.Name, MyTable.Type
from MyTable
where Name in (
select t1.Name
from (
select t0.Name, t0.Type
from (
select distinct MyTable.Name, MyTable.Type
from MyTable
) as t0
group by t0.Name, t0.Type
) as t1
group by t1.Name
having count(*) > 1
);https://dba.stackexchange.com/questions/114587
复制相似问题