一个表a,另一个表b,我想从a表中的字段x 相似于另一个表b中的字段y的值的所有记录取出,类似于select * from a where x like in (select y from b),y字段的数据没有什么规则,就是用户录入的数据,我想实现这样的功能,怎么写?谢谢!

解决方案 »

  1.   

    select * from a where exists(select 1 from b where instr(b.y,a.x)>0)
      

  2.   

    或者
    select * from a where exists(select 1 from b where b.y like a.x||'%')
      

  3.   


    SELECT * FROM A, BWHERE A.X LIKE B.Y||'%'
      

  4.   

    也没说出是怎样like啊
    是a.x like '%'||b.y?
    是a.x like '%'||b.y||'%'?
    是a.x like b.y||'%'?
      

  5.   

    oracle 10g 有正则表达式。为什么不用呢?
      

  6.   

    谢谢各位,还是自己对sql语句了解不清楚,只知道两个表连接只能用=,而不能用like。