有两张表需要联表查询统计
表1
table1
只有一个字段date类型
表数据
2018-09-01
2018-09-02
2018-09-03
2018-09-04
2018-09-05
:
:
:
:
2018-09-30
第二张表,三个字段
key date counts
123 2018-09-02 1
123 2018-09-03 2
123 2018-09-05 5
456 2018-09-10 10
456 2018-09-16 15
需要查询的结果为:
123 2018-09-01 0
123 2018-09-02 1
123 2018-09-03 2
123 2018-09-04 4
123 2018-09-05 5
:
:
:
123 2018-09-30 0
456 2018-09-01 0
:
:
456 2018-09-10 10
:
:
456 2018-09-16 15
:
:
456 2018-09-30 0
按照日期统计,每天统计,如果在某个日期没有数据,则为0
select
a.key1,a.date1,
case when (select count1 from table2 where a.key1=key1 and a.date1=date1) is null then 0
else (select count1 from table2 where a.key1=key1 and a.date1=date1) end
as count1
from
(
select distinct a.date1,b.key1
from table1 a
join table2 b
on 1=1
) a
order by 1
--仅供参考