筛选框如下:
控件名称为:年份,筛选框为下拉,值为2019-2025
控件名称为:月份,筛选框为下拉,值为01-12
数据库存的表信息为:years,months,quarters分别对应年份、月份、季度(格式为年份后两位+Qn,比如2019第一季度为19Q1)
如何在数据集中写where条件,使得数据能筛选筛选框对应的前3个季度的数据
比如筛选2019,01,则取2018、07到2019、03月的数据;
筛选2019,05,取2018、10到2019、06月的数据;
select
t.*
from (
years,
months,
quarters,
amount,
concat(years,months) as fu_col/*辅助列将年与月拼起来,为了后面使用大于等号判断,不知道你是什么数据库,我这里用了concat函数拼列。如果不支持,你百度你数据库拼列的函数*/
from 表名称
) t
where 1=1
and t.fu_col>='${format(MONTHDELTA(DATEINQUARTER(CONCATENATE(year_code,"-",month_code,"-01"),-1),-9)+1,"yyyyMM")}'
and t.fu_col>='${format(DATEINQUARTER(CONCATENATE(year_code,"-",month_code,"-01"),-1),"yyyyMM")}'
什么数据库