访问-通过一个查询在多个表中计数相同的值

时间:2019-01-08 19:30:05

标签: ms-access count ms-access-2010

我已经获得了一些尝试使用的不同安全报告。我想计算一个特定IP地址出现在2个不同表中的次数。

我希望它看起来像这样:

IP地址表1表2

xxx.xxx.xxx 12 13

我看到很多人要求对不同表中的单独值进行计数,但对不同表中的值却不相同,所以我有些困惑。

我使用联接和计数功能,使用内置查询设计器创建了一个表的初始计数;但是,如果我尝试多个联接,这个数字真的很奇怪,我不知道发生了什么。当我尝试使用一个表时,Access吐出此SQL:

SELECT [Dell Printers by IP].Address, Count([Apache 12-24].[Vulnerability Title]) AS [CountOfVulnerability Title]
FROM [Apache 12-24] INNER JOIN [Dell Printers by IP] ON [Apache 12-24].[Asset IP Address] = [Dell Printers by IP].Address
GROUP BY [Dell Printers by IP].Address;

而且,将其扩展到仅2个以上的表有多容易?

1 个答案:

答案 0 :(得分:0)

在不知道表与数据库之间如何关联的情况下,我建议使用相关子查询:

select 
  [ip addresses].[ip address],
  (select count(*) from table1 where table1.[ip address] = [ip addresses].[ip address]) as t1,
  (select count(*) from table2 where table2.[ip address] = [ip addresses].[ip address]) as t2
from
  [ip addresses]

假设要查询的IP地址位于名为ip addresses的表中。