如何实现按照带逗号的复选字段要求,查询另一个复选字段(专家抽取的条件查询)

一直想实现专家抽取的功能,目前遇到的问题是,专家抽取条件设置的每个专家的专业是多选字段,例如选择抽第一个专家的要求是水电、火电、清洁能源三个专业具备一个即可,这三个专业的代码写入数据库假设为01,02,03。查询专家库内专家的专业字段也是复选字段形成的,比如专家1的专业为01,02,05,08,则符合条件,专家2的专业为02,03,05,这个当然也是没问题的,专家3是04,07,09,这个专家就不会作为抽取范围。通过随机抽取的方式(sql语句的order by newid()方法)从可选范围抽取专家,然后打电话,不能参加的还需要继续补抽。那么这个最核心的问题是根据抽取专家专业复选字段(01,02,03)查询符合任一条件的专家专业复选字段如何高效的实现呢?请专家指教。

xw0406 发布于 2021-5-8 17:02
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
snrtuemcLv8专家互助
发布于2021-5-9 07:04(编辑于 2021-5-9 07:06)

第一步,建议做一个视图,把单元格内拆分多行,可以百度对应数据库,列拆分多行的SQL语句第二步,根据你的要求,字符串处理下,然后in查询对应专家

第三步,第二步的做为子查询结果,随机distinct出专家个数

第四步,根据项目号记录专家名字

第五步,如果有不参加,继续循环第三步,并且排除第四步记录人员

  • xw0406 xw0406(提问者) 您的意思是首先把专家库内专家的专业拆分成一对一,然后再把抽取条件也拆一下,然后再in,我想问拆分专家库专家专业,如果专家多的话会不会很耗资源。
    2021-05-09 08:36 
  • snrtuemc snrtuemc 回复 xw0406(提问者) 这个影响不大,专家数据不会上百万,基本没影响
    2021-05-09 17:21 
最佳回答
0
用户a8068717Lv4初级互助
发布于2021-5-8 18:29(编辑于 2021-5-9 07:05)
_
  • 2关注人数
  • 425浏览人数
  • 最后回答于:2021-5-9 07:06
    请选择关闭问题的原因
    确定 取消
    返回顶部