象组 2013-04-20 12:26
浏览 345
已采纳

oracle in (select a from table)

问题语句:
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语句结合起来使用呢

谢谢!

  • 写回答

5条回答 默认 最新

  • clxy大叔 2013-04-20 14:53
    关注

    上正则表达式好些?

    [code="sql"]
    SELECT
    t1.SUBJECTCODE,
    t1.subjectname,
    t1supercode
    FROM
    BO_CW_SUBJECT t1,
    BO_FLOW_SUBJECT_S t2
    WHERE
    t2.FLOWINSTANCEID=28273
    AND regexp_like(t2.SUBJECTCODE, '(^|,)' || t1.supercode || '(,|$)')
    [/code]
    未测试

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?