ms 访问,需要获取具有不同列的所有行
Posted
技术标签:
【中文标题】ms 访问,需要获取具有不同列的所有行【英文标题】:ms access, need to get all rows with a distinct column 【发布时间】:2021-03-23 07:44:16 【问题描述】:我有一个名为“parts”的表,其中存储有关电连接器的信息,包括触点、后壳等。作为组件一部分的所有零件在名为“assemblyID”的列中都有一个值。还有一个名为“partDefID”的列,在此列中,连接器的值为 2,联系人为 3。我需要获取所有具有唯一 assemblyID 的连接器的行。只需选择 partDefID 为 2 的行即可轻松获取表示连接器的行,但这将返回多行可能属于同一程序集的连接器。我只需要那些具有唯一 assemblyID 的连接器行。我怎样才能做到这一点? 见下图:
我想要得到的只是下面显示的行之一,它们中的任何一个都可以,因为它们都是同一个程序集的一部分。 just one of these rows needed
[更新] 看来我的问题没有很好地形成,并且不赞成使用图像。不过,插入我的表格的文本版本看起来真的很可怕!我会努力做得更好。是的,我是 sql 和这个网站的新手
【问题讨论】:
这里的大多数人希望样本表数据和预期结果为格式化文本,而不是图像。还;简化! minimal reproducible example 对于 any 一行使用TOP
: SELECT TOP 1 * FROM parts
【参考方案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
)
【讨论】:
【参考方案2】:我不知道这是不是你要找的东西
SELECT assemblyid,count(partdefid)
FROM parts
WHERE partdefid=2
GROUP BY partdefid,assemblyid
HAVING COUNT(partdefid)=1
【讨论】:
谢谢!但是,将其粘贴到访问查询窗口中会出现以下错误:“您的查询不包括指定的表达式'描述'作为聚合函数的一部分” 哦对不起,我错了,我修改了答案以上是关于ms 访问,需要获取具有不同列的所有行的主要内容,如果未能解决你的问题,请参考以下文章
读取文件然后将文件写入 SQL Server BLOB 列的代码,生成具有不同字节的文件