ms 访问,需要获取具有不同列的所有行

ms access, need to get all rows with a distinct column

我有一个名为“零件”的 table,它存储有关电连接器的信息,包括触点、后壳等。作为组件一部分的所有零件在名为“assemblyID”的列中都有一个值。还有一个名为“partDefID”的列,在此列中,连接器的值为 2,联系人将为 3。我需要获取具有唯一 assemblyID 的所有连接器的行。只需选择 partDefID 为 2 的行即可轻松获取表示连接器的行,但这将 return 多行连接器,这些连接器可能属于同一组件。我只需要那些具有唯一 assemblyID 的连接器行。我怎样才能做到这一点? 见下图:

我想要得到的只是下面显示的其中一行,其中任何一行都可以,因为它们都是同一程序集的一部分。 just one of these rows needed

[更新] 看来我的问题没有很好地形成,并且不赞成使用图像。不过,插入我的 table 的文本版本看起来真的很糟糕!我会努力做得更好。是的,我是 sql 和这个网站

的新手

不知道这是不是你要找的

SELECT assemblyid,count(partdefid)
FROM parts
WHERE partdefid=2
GROUP BY partdefid,assemblyid
HAVING COUNT(partdefid)=1

如果每个程序集 ID 只需要一个“连接器”行,则可以使用子查询进行过滤。假设 PartRefID 是唯一键:

select *
from parts as p
where [PartRefID] = (
    select max(p1.[PartRefID])
    from parts as p1
    where p1.[AssemblyID] = p.[AssemblyID] and p1.[PartDefID] = 2
)