如何将两个计数查询连接在一起?
问题描述:
我有两张表,我需要得到两个表之间每个人的总数的条目数量。如何将两个计数查询连接在一起?
我需要将以下查询一起按名称分组。
select count(entryid) as table1count, reqname1 from table1
而第二个查询:
select count(comid) as table2count, reqname2 from table2
我将如何把这些结合在一起,让我结束了与输出这样的:
jsmith 236
jsnow 13
etc.
有时同一reqname将在两表,但它只能在一个或另一个。所以我想显示两个表格之间的所有reqnames以及两个表格之间的总计数。
有关如何做到这一点的任何想法?
答
你可以用它进行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
答
您可以使用UNION ALL
:
select count(entryid) as table1count, reqname1 from table1
UNION ALL
select count(comid) as table2count, reqname2 from table2
+0
,当他们出现在两个表中这将产生重名。 – trincot
谢谢!这很好。 – spacerobot
还有一件事。我如何在日期范围检查中工作?假设我希望在date1在2017年8月21日到8/28/2017之间或date2在2017年8月21日到2017年8月28日之间获得相同结果? – spacerobot
这是一个完全不同的问题:在选择这些日期字段后,在#2017-08-21#和#2017-08-28#之间添加'where date1#或#2017-08-21#和#2017-08- 28#'。如果你不能完成这项工作,请提出一个新问题。评论部分不适用于新问题。 ;-) – trincot