下拉多选框做筛选

有两张表,一张人员表r(人员id,姓名),一张职称表z(人员id,职称名称),一个人可能会有多个职称名称。现在要做一张查询报表,职称名称作为多选下拉框的筛选条件,若选中多个职称名称,则报表显示出来同时拥有这多个职称名称的人员姓名,不是那种只要有其中一个职称就显示出来哈。假设符合条件的有五个人,那只显示这五个人的id和姓名就行,只有五行。请问数据集和筛选怎么做呀?

FineReport fireFade 发布于 2022-2-10 11:54 (编辑于 2022-2-10 14:19)
1min目标场景问卷 立即参与
回答问题
悬赏:10 F币 4人赏过 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
CD20160914Lv8专家互助
发布于2022-2-10 12:26(编辑于 2022-2-10 14:38)
  • fireFade fireFade(提问者) 比如选择了两个职称名称,张三这个人同时拥有这两个职称,那么只显示一条数据,姓名为张三,可以吗
    2022-02-10 14:07 
  • CD20160914 CD20160914 回复 fireFade(提问者) 当然可以的了。。那就要只显示姓名了。不能显示称职了。不然就要把称职进行合并了
    2022-02-10 14:09 
  • fireFade fireFade(提问者) 我下载看了报表,好像你理解错了。比如选了A、B、C三个职称,是同时拥有这三个职称的人才会显示在报表上,不是只要有A、B、C其中一个职称就可以显示出来。
    2022-02-10 14:13 
  • CD20160914 CD20160914 回复 fireFade(提问者) 再看一下我更新的附件压缩包的内容。重新下载看。是不是你要的。
    2022-02-10 14:38 
  • fireFade fireFade(提问者) 回复 CD20160914 效果应该是这样的,问下参数bl设置的公式:count(split($cs,\",\")) 是什么意思呢?数选了多少个职称名称吗?
    2022-02-10 14:49 
最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-2-10 12:04(编辑于 2022-2-10 14:44)

SELECT * FROM (

SELECT T1.姓名,count(T1.职称名称) [SL] FROM(

SLECT R.姓名,z.职称名称 FROM R INNER JOIN Z ON R.人员id=Z.人员id WHERE Z.职称名称 IN ('${REPLACE(下拉,",","','")}')

) T1

)T2 WHERE T2.SL>=${LEN(下拉)}

下拉控件值返回数组

image.png

WorkBook4.zip

  • fireFade fireFade(提问者) 谢谢回答,但好像也是做成那种只要有一种职称就显示出来的效果。要同时拥有选择出来的多个职称才会显示出来
    2022-02-10 14:24 
  • Z4u3z1 Z4u3z1 回复 fireFade(提问者) 看附件
    2022-02-10 14:44 
  • 3关注人数
  • 497浏览人数
  • 最后回答于:2022-2-10 14:44
    请选择关闭问题的原因
    确定 取消
    返回顶部