sql语句怎么将求和查询结果横向连接

希望解答!万分感激

代码1:select 分类,sum(访客数) as "10月" from search.搜索源
WHERE 来源名称 = "aaa"
and 日期 BETWEEN "2021-10-01" AND "2021-10-31"
group by 分类;

输出结果

img

代码2:select 分类,sum(访客数) as "11月" from search.搜索源
WHERE 来源名称 = “bbb"
and 日期 BETWEEN "2021-11-01" AND "2021-11-30"
group by 分类;

输出结果

img

想实现这样的形式

img

楼上专家的right join 有问题,这些月份中,并不能确定哪个月份的类型是全的,所以应该使用full join

select COALESCE(a.分类,b.分类) 分类,"10月","11月" from 
(select 分类,sum(访客数) as "10月" from search.搜索源
WHERE 来源名称 = "aaa"
and 日期 BETWEEN "2021-10-01" AND "2021-10-31"
group by 分类 ) a
full join 
(select 分类,sum(访客数) as "11月" from search.搜索源
WHERE 来源名称 = "bbb"
and 日期 BETWEEN "2021-11-01" AND "2021-11-30"
group by 分类) b
 on a.分类=b.分类;

mysql 的话,可以通过 left join ...union ... right join 来实现full join 的效果。
或者,如果你有一个完整的分类表的话,建议以那个完整的分类表做主表,去left join 另外这两个月份的数据

select a.分类,a.s10,b.s11 from (select 分类,sum(访客数) as s10 from search.搜索源
WHERE 来源名称 = "aaa"
and 日期 BETWEEN "2021-10-01" AND "2021-10-31" group by 分类) a right join(select 分类,sum(访客数) as s11 from search.搜索源
WHERE 来源名称 = “bbb"
and 日期 BETWEEN "2021-11-01" AND "2021-11-30" group by 分类) b on a.分类=b.分类

子查询