我在做一张动态列表,参数面板选什么,我汇总展示什么。

select cptitle,dptitle,dblevel,jbtitle,

 sum(ZWGZ)as ZWGZ, sum(ZNGZ)as ZNGZ, sum(ZWJT)as ZWJT, sum(ZCGZ)as ZCGZ,

 sum(KHGZ)as KHGZ,sum(JBGZ)as JBGZ, sum(EWJBGZ)as EWJBGZ, sum(QQJ)as QQJ, 

 sum(GDJT)as GDJT, sum(QTJT)as QTJT, sum(JJ)as JJ, sum(SJ)as SJ, 

 sum(CDQQ)as CDQQ, sum(KK)as KK, sum(YFGZ)as YFGZ, sum(GJJ)as GJJ,sum(sb)AS SB

from cvw_renliCostDetails

where 1=1

and term1 between '${term1}' and '${term2}'

AND cptitle = '${pgtitle}' 

${if(len(dp) == 0,"","and dp in " +"(" +dp +")")}

${if(len(dblevel) == 0,"","and jbgrade in " +"(" +dblevel +")")}

${if(len(jbid) == 0,"","and jbid in " +"(" +jbid +")")}

group by cptitle,dptitle,dblevel,jbtitle

如图这个是sql,除了公司以外其他全是多选的,那么我如何在select后编写来表达我选的那个参数集,其他的不展示。group by 后面同理

FineReport 用户C6640311 发布于 2023-8-22 16:01
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2023-8-22 16:04

你要到达什么效果,按目前sql语句,你只要设置对应控件,用这写参数名作控件名,然后设置分隔符

就可以了

image.png

  • 用户C6640311 用户C6640311(提问者) select cptitle,dptitle,dblevel,jbtitle,就是我想查到的这几个都是动态的根据我参数面板来
    2023-08-22 16:06 
  • snrtuemc snrtuemc 回复 用户C6640311(提问者) 那就直接这个也是参数控件,select ${控件名} XXXXX group by ${控件名} 就可以,分隔符逗号就是默认就可以
    2023-08-22 16:08 
  • 用户C6640311 用户C6640311(提问者) 回复 snrtuemc 控件是多选的话呢,就变成select \'张三,李四\' XXX了
    2023-08-22 16:58 
  • snrtuemc snrtuemc 回复 用户C6640311(提问者) 那不是你的需要的吗?
    2023-08-22 17:00 
  • 用户C6640311 用户C6640311(提问者) 回复 snrtuemc 我想要分开列表来啊
    2023-08-22 17:06 
最佳回答
0
free_zzLv6中级互助
发布于2023-8-22 16:05

select 

${if(参数='cptitle','cptitle',if(参数='dptitle','dptitle',if(参数='dblevel','dblevel','jbtitle')))} AS TYPENANE,

 sum(ZWGZ)as ZWGZ, sum(ZNGZ)as ZNGZ, sum(ZWJT)as ZWJT, sum(ZCGZ)as ZCGZ,

 sum(KHGZ)as KHGZ,sum(JBGZ)as JBGZ, sum(EWJBGZ)as EWJBGZ, sum(QQJ)as QQJ, 

 sum(GDJT)as GDJT, sum(QTJT)as QTJT, sum(JJ)as JJ, sum(SJ)as SJ, 

 sum(CDQQ)as CDQQ, sum(KK)as KK, sum(YFGZ)as YFGZ, sum(GJJ)as GJJ,sum(sb)AS SB

from cvw_renliCostDetails

where 1=1

and term1 between '${term1}' and '${term2}'

AND cptitle = '${pgtitle}' 

${if(len(dp) == 0,"","and dp in " +"(" +dp +")")}

${if(len(dblevel) == 0,"","and jbgrade in " +"(" +dblevel +")")}

${if(len(jbid) == 0,"","and jbid in " +"(" +jbid +")")}

group by ${if(参数='cptitle',cptitle,if(参数='dptitle',dptitle,if(参数='dblevel',dblevel,jbtitle)))}

  • 用户C6640311 用户C6640311(提问者) 这个参数是啥意思啊
    2023-08-22 16:12 
  • free_zz free_zz 回复 用户C6640311(提问者) 你的参数名
    2023-08-22 16:15 
  • 用户C6640311 用户C6640311(提问者) ${if(参数=\'cptitle\',\'cptitle\',if(参数=\'dptitle\',\'dptitle\',if(参数=\'dblevel\',\'dblevel\',\'jbtitle\')))}这里面的参数=\'cptitle\'我咋看不懂
    2023-08-22 16:17 
  • 用户C6640311 用户C6640311(提问者) 回复 free_zz 我得参数名 = \'cptitle\' 这个cptitle呢又是啥意思
    2023-08-22 16:19 
  • free_zz free_zz 回复 用户C6640311(提问者) 参数的值,这个随你设置,反正就是判断通过哪个字段聚合
    2023-08-22 16:25 
  • 2关注人数
  • 243浏览人数
  • 最后回答于:2023-8-22 16:05
    请选择关闭问题的原因
    确定 取消
    返回顶部