数据库有两张基础表,表A: 记录每个商铺销售,表B:记录每个商铺的合同日期。
需求:我现在想按合同期去统计每个商铺的销售完成情况,这个有什么办法能做到。
因为每个商铺的合同期都不一样,怎么样能一把查出来,或者有什么变通的办法实现。
比如我时间段选2022/1/1 到 2022/12/31 ,上面表B这两个商铺他们各自合同期内的销售体现出来。
select a.商铺名称,sum(a.销售金额) from 表a a
left join 表b b on a.商铺编号=b.商铺编号
where a.日期 between 开始日期 and 结束日期
and a.日期 between b.合同开始日期 and 合同结束日期
select * from 表B left join 表A
on 表a.日期 between 表B.开始日期 and 结束日期 and 表a.商铺编号=表B.商铺编号
select b.日期,b.商铺名称,a.销售金额 from 表a a
where 1=1