为了账号安全,请及时绑定邮箱和手机立即绑定

如下解析,怎样才能与问题解析一条sql语句结合起来使用?

如下解析,怎样才能与问题解析一条sql语句结合起来使用?

不负相思意 2022-09-02 11:07:45
问题语句:select SUBJECTCODE,subjectname,supercode from BO_CW_SUBJECT where supercode in (select SUBJECTCODE  from BO_FLOW_SUBJECT_S where FLOWINSTANCEID=28273)解析:(select SUBJECTCODE  from BO_FLOW_SUBJECT_S where FLOWINSTANCEID=28273) 此语句的结果集为 31,32,怎样才能与上面一条sql语句结合起来使用呢谢谢!
查看完整描述

2 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

Sql代码  

  1. SELECT  

  2.   t1.SUBJECTCODE,  

  3.   t1.subjectname,  

  4.   t1supercode  

  5. FROM  

  6.   BO_CW_SUBJECT t1,  

  7.   BO_FLOW_SUBJECT_S t2  

  8. WHERE  

  9.   t2.FLOWINSTANCEID=28273  

  10. AND regexp_like(t2.SUBJECTCODE, '(^|,)' || t1.supercode || '(,|$)')  

未测试
这种做法会有效率问题的。一定是全表走查的。


查看完整回答
反对 回复 2022-09-06
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

1分两条sql可能更快
1、取(select SUBJECTCODE  from BO_FLOW_SUBJECT_S where FLOWINSTANCEID=28273)  然后程序中split
2、再in查一次 效率高
select SUBJECTCODE,subjectname,supercode from BO_CW_SUBJECT where supercode in(?,?)
2、like 缺点不走索引
where concat(supercode, ',' , '%') like (子查询) or concat(',', supercode, '%')  like  (子查询)
既因为你的格式是 1,2,3 所以两种情况  1,  ,3  如果你存储的格式是1,2,3, 则可以直接1,   2,   3, 匹配

查看完整回答
反对 回复 2022-09-06
  • 2 回答
  • 0 关注
  • 127 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信