数据集参数查询

43ff6a6f1f039e1575736ba4a5b479c.png

哪里出了错,不知道为什么查询不出来


FineReport 年年 发布于 2020-11-4 15:54 (编辑于 2020-11-4 16:17)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
我啥都不会Lv6初级互助
发布于2020-11-6 11:07(编辑于 2020-11-6 11:14)

哎。。。当时怎么不问完呢,你的b.name 是长名称,省份和市区和区县都是我当时给你截取出来的,

用=和in都是查不出来数据的,

要么把我给你写的语句根据省,区,县替换掉b.name,要么你就使用like查询


${if(len(省份)==0,"","and b.name  like '"+省份+"%'")}

${if(len(市区)==0,"","and b.name  like '%"+市区+"%'")}

${if(len(区县)==0,"","and b.name  like '%"+区县+"'")}


最好分个多个数据集可以根据下面做个联动啥的

https://help.fanruan.com/finereport/doc-view-1284.html?source=1

最佳回答
0
孤陌Lv6资深互助
发布于2020-11-4 15:55(编辑于 2020-11-4 16:57)

能不能把上面的也截图看看   这样是看不出问题  应该是上面的SQL有问题了

image.png

参数名修改成不一样

  • 年年 年年(提问者) 好的,我上传了
    2020-11-04 16:17 
  • 孤陌 孤陌 回复 年年(提问者) 你的参数名都一样 肯定有问题啊
    2020-11-04 16:57 
最佳回答
0
firegunzxLv6高级互助
发布于2020-11-4 16:00(编辑于 2020-11-4 17:02)

image.png

这里的3个b.name的判断是错误的,当有两个及以上的参数有值的时候,相当于 where  a=1 and a=2 ,不可能有结果的。

看您最后上传的sql,是把b.name做了一个分解,分成了省市区,所以需要在sql的最外层加一个select,把现在的sql作为from 的表,where 放到最外面,语句分别改成省市区的判断才可以。

尝试做以下修改:

select * from (您最后截图的sql语句) as  t where 1=1 

${if(len(省份)==0,"","and t.省份 = '"+省份+"'")}

${if(len(市区)==0,"","and t.市区 = '"+市区+"'")}

${if(len(区县)==0,"","and t.区县 = '"+区县+"'")}

  • 年年 年年(提问者) 单选框
    2020-11-04 16:14 
  • firegunzx firegunzx 回复 年年(提问者) 后3个条件字段都是b.name?肯定查不出来的。
    2020-11-04 16:47 
最佳回答
0
LSQ000Lv5中级互助
发布于2020-11-4 16:03

image.png
多选的不是应该用in吗?怎么用=

最佳回答
0
晓亮Lv7资深互助
发布于2020-11-4 16:36(编辑于 2020-11-4 16:43)

你不加参数可以执行吗;看看是不是参数名没有对上

image.png

  • 年年 年年(提问者) 对上了,我还加了姓名和公司,姓名公司就可以查到,省市区就查不到
    2020-11-04 16:40 
  • 晓亮 晓亮 回复 年年(提问者) 你重启一下设计器,看看参数名
    2020-11-04 16:43 
  • 6关注人数
  • 489浏览人数
  • 最后回答于:2020-11-6 11:14
    请选择关闭问题的原因
    确定 取消
    返回顶部