oracle 多字段匹配问题

demonapple 2017-11-02 05:25:57
比如有标签定义表a
value label
a1 你好
a3&a4 大家好

只有这两种情况,要么单独包含一个内容,要么同时包含两个字段,用&符号分开,value的内容互斥没有重合的。

然后有一张需要匹配的表b
remark
奥迪阿达湿答答阿达a1
奥迪阿达湿答答阿达a2
a4奥迪阿达湿答答阿达a3
...


需要查看b表的remark字段,去匹配a表里面的value,如果满足包含有关键字,就返回label标签

请问这个需求怎么实现?

...全文
374 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chengccy 2017-11-03
  • 打赏
  • 举报
回复
SELECT *
FROM   B
LEFT   JOIN A
ON     REGEXP_COUNT(A.VALUE, '&') + 1 =
       REGEXP_COUNT(B.REMARK, REPLACE(A.VALUE, '&', '|'))
demonapple 2017-11-02
  • 打赏
  • 举报
回复
更正一下 表a 的value可以存在多个关键字。中间用&分开。不一定是两个。
碧水幽幽泉 2017-11-02
  • 打赏
  • 举报
回复
在外面喝咖啡~
碧水幽幽泉 2017-11-02
  • 打赏
  • 举报
回复
使用regxep_like可以实现。

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧