如何将两个计数查询合二为一?

时间:2017-08-28 17:12:45

标签: sql ms-access

我有两个表,我需要得到两个表之间总和的每个人的条目数。

我需要将以下查询加在一起,并按名称分组。

select count(entryid) as table1count, reqname1 from table1

第二个问题:

select count(comid) as table2count, reqname2 from table2

我如何将这些放在一起,以便我得到这样的输出:

jsmith 236
jsnow 13
etc.

有时,两个表中都会有相同的reqname,但它只能在一个或另一个表中。所以我想显示两个表之间的所有reqnames以及它们在两个表之间的总和。

关于如何做到这一点的任何想法?

2 个答案:

答案 0 :(得分:2)

您可以使用UNION ALL

select count(entryid) as table1count, reqname1 from table1
UNION ALL
select count(comid) as table2count, reqname2 from table2

答案 1 :(得分:1)

您可以使用执行union all的子查询,然后进行分组和计数:

select name, count(id) 
from (
        select reqname1 as name, entryid as id from table1
        union all
        select reqname2, comid from table2
     ) as combined
group by name