根据日期求对应周次的同期上期,再根据求出的周次求对应周的开始时间和结束时间

select k.rq_min rq_bz_min,m.rq_max rq_sq_max,m.rq_min rq_sq_min,n.rq_max rq_tz_max,n.rq_min rq_tz_min from

(select date (max(a.rqdm)) + 1 days rq_max,date (min(a.rqdm)) + 1 days rq_min

from dm.td_rq a

left join

(select nfdm nf_bq,djz zc_bq, char(int(nfdm)-1) nf_tq,djz zc_tq,case when INT(djz)=1 then trim(char(int(nfdm)-1)) else nfdm end nf_sq,case when INT(djz)=1 then 53 else INT(djz)-1 end zc_sq

from dm.td_rq

where rqdm='2018-12-12') b

on a.nfdm = b.nf_bq and a.djz=b.zc_bq

where a.nfdm = b.nf_bq and a.djz=b.zc_bq) k

inner join

(select date (max(a.rqdm)) + 1 days rq_max,date (min(a.rqdm)) + 1 days rq_min

from dm.td_rq a

left join

(select nfdm nf_bq,djz zc_bq, char(int(nfdm)-1) nf_tq,djz zc_tq,case when INT(djz)=1 then trim(char(int(nfdm)-1)) else nfdm end nf_sq,case when INT(djz)=1 then 53 else INT(djz)-1 end zc_sq

from dm.td_rq

where rqdm='2018-12-12') b

on a.nfdm = b.nf_sq and a.djz=b.zc_sq

where a.nfdm = b.nf_sq and a.djz=b.zc_sq) m

on 1=1

inner join

(select date (max(a.rqdm)) + 1 days rq_max,date (min(a.rqdm)) + 1 days rq_min

from dm.td_rq a

left join

(select nfdm nf_bq,djz zc_bq, char(int(nfdm)-1) nf_tq,djz zc_tq,case when INT(djz)=1 then trim(char(int(nfdm)-1)) else nfdm end nf_sq,case when INT(djz)=1 then 53 else INT(djz)-1 end zc_sq

from dm.td_rq

where rqdm='2018-12-12') b

on a.nfdm = b.nf_tq and a.djz=b.zc_tq

where a.nfdm = b.nf_tq and a.djz=b.zc_tq) n

on 1=1

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容