select * from t1,t2 where t1.id=t2.pid and instr(t1.name,t2.pname)<>0

解决方案 »

  1.   

    select * from t1,t2 where t1.id=t2.pid and (substr(trim(t1.name),5)=trim(t2.name) or substr(trim(t1.name),7)=trim(t2.name);;
      

  2.   

    sorry,
    select * from t1,t2 where t1.id=t2.pid and (substr(trim(t1.name),5)=trim(t2.name) or substr(trim(t1.name),7)=trim(t2.name));
      

  3.   

    Net8(High Water Mark):   不行啊,ORACLE是不是将t1.name,t2.pname当成字符串了,而不是字段名。
      

  4.   

    select * from t1,t2 where t1.id=t2.pid and instrB(t1.name,t2.pname)>0
      

  5.   

    怎么会将t1.name,t2.pname当成字符串呢?又不是变量,这里是字段名嘛。
    不过我懒,没有测试。
      

  6.   

    select * from t1 where exists(select 1 from t2 where pid=id and instr(name,pname)>0)
      

  7.   

    老大们,还是不行,返回值全部为0, 我用的是oracle8.1.7 on redhatlinux
      

  8.   

    试试
    select t1.* from t1,t2 where t1.id=t2.pid and t2.pname like %t1.name%
      

  9.   

    不是语句有问题,是楼主表达不清.
    select * from t1 where exists(select 1 from t2 where pid=id or instr(name,pname)>0)