我有一个奇怪的问题。首先,我并不精通 Access,但我在一个项目中使用它来跟踪日志源和检测的可见性并将它们映射到 MITRE ATT&CK 框架。I 表,例如用于跟踪 MITRE 技术的技术、用于跟踪这些技术使用的各种来源的 Data_Sources,以及对公司的每个数据源具有可见性排名的 Data_Sources_Coverage。我有一个使用以下 SQL 构建的查询(可能有点混乱):
SELECT Technique.Name, Technique.ID, Technique.[Tactic ID], Count(Technique.[Data Sources].Value) AS Technique_Sources, Count(Data_Source_Coverage.[Data Source]) AS Sources_Visible
FROM (Data_Sources INNER JOIN Technique ON Data_Sources.Name = Technique.[Data Sources].Value) INNER JOIN Data_Source_Coverage ON Data_Sources.Name = Data_Source_Coverage.[Data Source]
WHERE (Data_Source_Coverage.Coverage)>0)
GROUP BY Technique.Name, Technique.ID, Technique.[Tactic ID];
查询效果很好,可以按我的预期打印结果。但是,当我从该查询生成报告时,事情就出轨了。报告莫名其妙地(我对数据没有做任何事情),将 Technique_Sources 列乘以 Sources_Visible 列并将其显示在 Technique_Sources 列中,然后 Sources_Visible 列中的每个条目都变为“1”。下图。谢谢您的帮助。