如何用MS Access将多记录数据合并为单条记录?
优先用MS Access查询实现,比新建表更高效且无需额外维护:
核心思路:利用Access的聚合查询(GROUP BY),结合
First()或Max()函数提取同一项目下各团队列的非空值。因为你的数据中同一项目的每条记录仅对应一个团队列有值,其余为Null,这两个函数会自动忽略Null,取到该团队的有效影响值。示例SQL语句(假设你的SharePoint列表导入Access后名为
ProjectImpacts,项目标识列是ProjectID,各团队影响列是TeamA_Impact、TeamB_Impact等):
SELECT ProjectID, First(TeamA_Impact) AS TeamA_影响程度, First(TeamB_Impact) AS TeamB_影响程度, First(TeamC_Impact) AS TeamC_影响程度 FROM ProjectImpacts GROUP BY ProjectID;
- 为什么不推荐新建表:新建表需要手动或通过宏/代码同步SharePoint的最新数据,每次有团队提交新记录都要更新表,维护成本高;而查询可以直接实时关联SharePoint列表,数据始终保持最新,无需额外操作。
内容的提问来源于stack exchange,提问作者LDoan
相关产品推荐
相关产品推荐

