请问帆软在数据集里面写前台传的参数该怎么写,

如下图所示,此数据集给的条件是前台传的参数,但是要根据参数选择是账号还是客户号,麻烦大佬帮我改一下我这个判断,该怎么在数据源集那里可以实现

select * from KMZHYEBCK where if(and(B2 = '02',F2 = '04'),khdh=$ywbzh,if(AND(B2 = '02',F2 = '06'),zhdh=$ywbzh

image.png

FineReport 木子一丶 发布于 2024-10-24 11:06
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
华莉星宸Lv7资深互助
发布于2024-10-24 11:07(编辑于 2024-10-24 11:18)

使用SQL函数处理

SQL函数 https://help.fanruan.com/finereport/doc-view-846.html

---------------------

你的B2 F2  是不能直接传到数据集查询的,初始化的时候  这两个格子还么有值

select * from KMZHYEBCK where 1=1

${if(ywbzh=="账号","and khdh='"+ywbzh+"'","and zhdh='"+ywbzh+"'")}

最佳回答
0
用户k6280494Lv6专家互助
发布于2024-10-24 11:07(编辑于 2024-10-24 11:10)

select * from KMZHYEBCK where 1=1

${ if(and(B2 = '02',F2 = '04'),"and khdh='"+ywbzh+"'",if(AND(B2 = '02',F2 = '06'),"and zhdh='"+ywbzh+"'","")}

//sql

sql("长沙华夏yxkh","select min(rq) from table where 1=1" +if(and(B2 = '02',F2 = '04'),"and khdh='"+ywbzh+"'",if(AND(B2 = '02',F2 = '06'),"and zhdh='"+ywbzh+"'",""),1,1)

  • 木子一丶 木子一丶(提问者) 这个有问题sql("长沙华夏yxkh","select min(rq) from table where 1=1" +if(and(B2 = '02',F2 = '04'),"and khdh='"+ywbzh+"'",if(AND(B2 = '02',F2 = '06'),"and zhdh='"+ywbzh+"'",""),1,1)报错了
    2024-10-24 11:36 
  • 用户k6280494 用户k6280494 回复 木子一丶(提问者) 少个括号 sql("长沙华夏yxkh","select min(rq) from table where 1=1" + if(and(B2 = '02',F2 = '04'),"and khdh='"+ywbzh+"'",if(AND(B2 = '02',F2 = '06'),"and zhdh='"+ywbzh+"'","")),1,1)
    2024-10-24 11:41 
  • 3关注人数
  • 107浏览人数
  • 最后回答于:2024-10-24 11:18
    请选择关闭问题的原因
    确定 取消
    返回顶部