是否有更好的解决办法

需求:计算本期与同期对应日期的销售差额,比如 5 月 1 日要对应 5 月 2 日,同期的日期都对应地往后推一天

数据如下:

imagepng

imagepng
先上自己的解决办法
搞个日期对应的表

imagepng
我的方法如下

imagepng
目的是达到了。
我想会不会有更简单高效的办法呢?并且如果这两个表如果非常大,再加 join 一次,会不会造成很大的内存占用?之前读过一个一篇文章 用 switch 将两个表关联起来,应该是不必产生新表了。感觉不错,不知道有没有类似的思路解决这种数据对比的问题。我想若把对比日期和类别都设为主键,是不是可以用 switch 干这活了呢?
SPL 精妙得很,常感自己愚钝,还请各位大佬赐教,谢谢了。