求助:数据库一个字段内容如下示例:(1,2,3,4)或(1,2),由逗号隔开的不定数量的多个关键字组

4.png

这是数据库

55.png

把这里面的显示内容全部分隔开,并去掉重复,每个内容显示一条,像如下这样21.png

FineReport 非花非雾 发布于 2021-6-4 08:57 (编辑于 2021-6-4 16:34)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
snrtuemcLv8专家互助
发布于2021-6-4 09:14(编辑于 2021-6-4 16:22)

可以这样,把数据库字段查询出来,放到下拉框中,如下图

然后查询时候就是

select * from 表 where 字段2 like '%${控件名称}%'

-------------------修改答案

ds1数据,相当于你查询出来的

image.png

下拉框设置

split(value("ds1",1),",")   ---取得是ds1的第一列,你根据自己数据库列取值,显示值注意,一定要是 $$$

image.png

效果,会过滤重复

image.png

接下来直接like查询不需要在讲了把

  • snrtuemc snrtuemc 回复 非花非雾(提问者) 上面截图,就是处理B里面内容,不是整个显示,而是分开显示,处理后,就可以用like取模糊查找A里面的数据了,有的全部查询出来
    2021-06-04 16:08 
  • 非花非雾 非花非雾(提问者) 也许是我描述的不是很明白,我重新描述一下: 数据库表:list 字段:A B 内容:1、北京 烤鸭,炸酱面,卤煮,天安门,土豪 2、上海 东方明珠,外滩,小笼包,白斩鸡,土豪 3、香港 撒尿牛丸,铜锣湾, 丝袜奶茶,兰桂坊,土豪 现在不知道A和B里面的内容,需要实现的是让B里面的内容成为下拉菜单,且每一个都是独立的,而不是整个显示出来,例如不是(烤鸭,炸酱面,卤煮,天安门,土豪)整个显示出来,而是烤鸭、炸酱面、卤煮、天安门、土豪每个算一条,把里面所有的内容这样显示出来,然后要实现的是例如在下拉菜单选择东方明珠,就能带出来上海,选择土豪,带出北京,上海,香港来,B里面的内容要单独显示出来,过滤掉重复项。不知道这次是否说明白了,谢谢
    2021-06-04 16:09 
  • snrtuemc snrtuemc 回复 非花非雾(提问者) 你这个不需要显示匹配,其实更简单,数据库的直接split分隔就可以,参考修改答案
    2021-06-04 16:19 
  • 非花非雾 非花非雾(提问者) 回复 snrtuemc 试了不行,点开下拉菜单是空白的
    2021-06-04 16:19 
  • snrtuemc snrtuemc 回复 非花非雾(提问者) 看最新修改答案,最上面的,还做了数据字典了,会有问题
    2021-06-04 16:23 
最佳回答
0
xiaomingyiLv6中级互助
发布于2021-6-4 09:04(编辑于 2021-6-4 09:04)

select 字段1 from 表 where 字段2 like '%1%'

  • 非花非雾 非花非雾(提问者) 也许是我描述的不是很明白,我重新描述一下: 数据库表:list 字段:A B 内容:1、北京 烤鸭,炸酱面,卤煮,天安门,土豪 2、上海 东方明珠,外滩,小笼包,白斩鸡,土豪 3、香港 撒尿牛丸,铜锣湾, 丝袜奶茶,兰桂坊,土豪 现在不知道A和B里面的内容,需要实现的是让B里面的内容成为下拉菜单,且每一个都是独立的,而不是整个显示出来,例如不是(烤鸭,炸酱面,卤煮,天安门,土豪)整个显示出来,而是烤鸭、炸酱面、卤煮、天安门、土豪每个算一条,把里面所有的内容这样显示出来,然后要实现的是例如在下拉菜单选择东方明珠,就能带出来上海,选择土豪,带出北京,上海,香港来,B里面的内容要单独显示出来,过滤掉重复项。不知道这次是否说明白了,谢谢
    2021-06-04 16:09 
最佳回答
0
liu.yangLv2初级互助
发布于2021-6-4 09:04

select  字段1,字段2 from 表 where  字段2 like '%2%'

或者

select  字段1,字段2 from 表 where instr(字段2,'2',1,1)>0

  • 非花非雾 非花非雾(提问者) 也许是我描述的不是很明白,我重新描述一下: 数据库表:list 字段:A B 内容:1、北京 烤鸭,炸酱面,卤煮,天安门,土豪 2、上海 东方明珠,外滩,小笼包,白斩鸡,土豪 3、香港 撒尿牛丸,铜锣湾, 丝袜奶茶,兰桂坊,土豪 现在不知道A和B里面的内容,需要实现的是让B里面的内容成为下拉菜单,且每一个都是独立的,而不是整个显示出来,例如不是(烤鸭,炸酱面,卤煮,天安门,土豪)整个显示出来,而是烤鸭、炸酱面、卤煮、天安门、土豪每个算一条,把里面所有的内容这样显示出来,然后要实现的是例如在下拉菜单选择东方明珠,就能带出来上海,选择土豪,带出北京,上海,香港来,B里面的内容要单独显示出来,过滤掉重复项。不知道这次是否说明白了,谢谢
    2021-06-04 16:09 
最佳回答
0
luojian0323Lv7资深互助
发布于2021-6-4 09:05

可以通过1找出所有含1的内容,这个我能理解

并将他对应的前面一个字段的值显示出来。这个怎么理解?

  • 非花非雾 非花非雾(提问者) 也许是我描述的不是很明白,我重新描述一下: 数据库表:list 字段:A B 内容:1、北京 烤鸭,炸酱面,卤煮,天安门,土豪 2、上海 东方明珠,外滩,小笼包,白斩鸡,土豪 3、香港 撒尿牛丸,铜锣湾, 丝袜奶茶,兰桂坊,土豪 现在不知道A和B里面的内容,需要实现的是让B里面的内容成为下拉菜单,且每一个都是独立的,而不是整个显示出来,例如不是(烤鸭,炸酱面,卤煮,天安门,土豪)整个显示出来,而是烤鸭、炸酱面、卤煮、天安门、土豪每个算一条,把里面所有的内容这样显示出来,然后要实现的是例如在下拉菜单选择东方明珠,就能带出来上海,选择土豪,带出北京,上海,香港来,B里面的内容要单独显示出来,过滤掉重复项。不知道这次是否说明白了,谢谢
    2021-06-04 16:09 
最佳回答
0
Z4u3z1Lv6专家互助
发布于2021-6-4 09:05(编辑于 2021-6-4 16:48)

WHERE 字段 LIKE '1,%'  OR 字段  LIKE '%,1,%' OR 字段  LIKE '%,1'

找出形式:1,2,3,4或2,1,3,4或2,4,5,1 另外两个的除找出以上三种情况的还包含2,4,5,12

image.png

  • 非花非雾 非花非雾(提问者) 也许是我描述的不是很明白,我重新描述一下: 数据库表:list 字段:A B 内容:1、北京 烤鸭,炸酱面,卤煮,天安门,土豪 2、上海 东方明珠,外滩,小笼包,白斩鸡,土豪 3、香港 撒尿牛丸,铜锣湾, 丝袜奶茶,兰桂坊,土豪 现在不知道A和B里面的内容,需要实现的是让B里面的内容成为下拉菜单,且每一个都是独立的,而不是整个显示出来,例如不是(烤鸭,炸酱面,卤煮,天安门,土豪)整个显示出来,而是烤鸭、炸酱面、卤煮、天安门、土豪每个算一条,把里面所有的内容这样显示出来,然后要实现的是例如在下拉菜单选择东方明珠,就能带出来上海,选择土豪,带出北京,上海,香港来,B里面的内容要单独显示出来,过滤掉重复项。不知道这次是否说明白了,谢谢
    2021-06-04 16:09 
  • Z4u3z1 Z4u3z1 回复 非花非雾(提问者) 用EXCEL示例一下 一长串看得头晕
    2021-06-04 16:18 
  • 非花非雾 非花非雾(提问者) 回复 Z4u3z1 重新修改了问题,谢谢
    2021-06-04 16:34 
  • 5关注人数
  • 441浏览人数
  • 最后回答于:2021-6-4 16:48
    请选择关闭问题的原因
    确定 取消
    返回顶部