ORACLE 表 JOIN 后的LIKE筛选问题?请教!

m0_38033608 2018-08-30 09:47:25
SELECT *
FROM A_file
LEFT JOIN B_file ON A_file.a01 = B_file.b01
where B_file.text not like '%测试%'

数据实际上是有包含'测试'的字符串数据,但为时判断时候无法过滤?
...全文
1219 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
verejava 2018-08-31
  • 打赏
  • 举报
回复
nicholasvb 2018-08-31
  • 打赏
  • 举报
回复
引用 3 楼 baidu_36457652 的回复:
把where 换成and

我觉得这个可行!
  • 打赏
  • 举报
回复
因为执行先join 然后on 再where, 要么改成子查询,要么where换成and
  • 打赏
  • 举报
回复
把where 换成and
十二恨 2018-08-30
  • 打赏
  • 举报
回复
你的是可以过滤的,是不是A_file里有。
你可以像我这样写,就可以把B_file里的过滤了
SELECT *
FROM A_file
LEFT JOIN (select * from B_file where B_file.text not like '%测试%') ON A_file.a01 = B_file.b01
minsic78 2018-08-30
  • 打赏
  • 举报
回复
说明B表TEXT字段包含“测试”字符串的行,没能在A表中找到匹配,如果改成右外连接,就应该有了

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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