select * from t_wry_jbxx jbxx 
where jbxx.wrymc like '%'||(select substr(xzqh,1,2) from t_comn_xzqhdm)||'%' 
如sql表达的意思  但是select substr(xzqh,1,2) from t_comn_xzqhdm 查出来的是一个结果集 
如何修改这个sql语句。。求大神oracleselect

解决方案 »

  1.   

    直接这样用肯定不行
    存储过程写循环吧
    毕竟like只能是一个字符串
      

  2.   

    1.第一种也就是上面说的,先放在游标再逐条like,返回多个结果
    2.拼接动态sql语句,将所有like条件穷举出来并用or连接起来,然后统一执行返回一个结果。
    数据量不多的话,这些方法也许可行。
      

  3.   

    解决了select * from t_wry_jbxx jbxx ,t_comn_xzqhdm c
    where c.fdm='330100000'and jbxx.dwdz like '%'||(substr(c.xzqh,1,2) )||'%'