根据下拉参数是否为空,判断sql查询哪些字段。这个是否能实现。

select substr(MODIFY_TIME,1,4) year,substr(MODIFY_TIME,6,2) month,

if '$(月份)' is null then

substr(MODIFY_TIME,6,2) day

else

substr(MODIFY_TIME,9,2) day

end if,

sum(STHYSHSL),sum(NSDYSHSL),sum(BSDYSHSL),sum(JGHYSHSL),sum(XSDYSHSL),

from ***

where substr(MODIFY_TIME,1,4) = '${年份}' 

${if(len(月份) == 0,"","and substr(MODIFY_TIME,6,2) = '" + 月份 + "'")}

group by substr(MODIFY_TIME,6,2),substr(MODIFY_TIME,1,4),substr(MODIFY_TIME,9,2)

order by substr(MODIFY_TIME,1,4)

报错:

1621931589(1).jpg

FineReport 快乐程序员 发布于 2021-5-25 16:34
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
烟尘Lv6高级互助
发布于2021-5-25 16:37(编辑于 2021-5-25 16:44)

select substr(MODIFY_TIME,1,4) year,substr(MODIFY_TIME,6,2) month,

${if(len(月份) == 0," substr(MODIFY_TIME,6,2) day, "," substr(MODIFY_TIME,9,2) day, ")} 

sum(STHYSHSL),sum(NSDYSHSL),sum(BSDYSHSL),sum(JGHYSHSL),sum(XSDYSHSL)

from ***

where substr(MODIFY_TIME,1,4) = '${年份}' 

${if(len(月份) == 0,"","and substr(MODIFY_TIME,6,2) = '" + 月份 + "'")}

group by substr(MODIFY_TIME,6,2),substr(MODIFY_TIME,1,4),substr(MODIFY_TIME,9,2)

order by substr(MODIFY_TIME,1,4)

image.png

最佳回答
0
snrtuemcLv8专家互助
发布于2021-5-25 16:38

改成下面

select substr(MODIFY_TIME,1,4) year,substr(MODIFY_TIME,6,2) month,

${if(len(月份) == 0,"substr(MODIFY_TIME,6,2) day","substr(MODIFY_TIME,9,2) day")},

sum(STHYSHSL),sum(NSDYSHSL),sum(BSDYSHSL),sum(JGHYSHSL),sum(XSDYSHSL),

from ***

where substr(MODIFY_TIME,1,4) = '${年份}' 

${if(len(月份) == 0,"","and substr(MODIFY_TIME,6,2) = '" + 月份 + "'")}

group by substr(MODIFY_TIME,6,2),substr(MODIFY_TIME,1,4),substr(MODIFY_TIME,9,2)

order by substr(MODIFY_TIME,1,4)

最佳回答
0
SrafyLv5见习互助
发布于2021-5-25 16:41

from前面  , ……

  • 4关注人数
  • 406浏览人数
  • 最后回答于:2021-5-25 16:44
    请选择关闭问题的原因
    确定 取消
    返回顶部