create or replace view as
select a.姓名,a.别名,b.编号
from t1 a,t2 b
where b.备注 like '%'||a.姓名||'%'

解决方案 »

  1.   

    create view vname as select t1.姓名,t1.别名,t2.编号 from t1,t2 where t2.编号 =(select 编号 from t2 where 备注 like ....);
    没有测试过,大概就是这样吧,先查出来。
      

  2.   

    一字值千金啊,得多给我点^_^
    create or replace view as
    select t1.a,t1.b,t2.a
    from t1,t2
    where t2.b(+) like '%'||t1.a||'%'
      

  3.   

    我已经在ORACLE中测试通过了,测试费也要
      

  4.   

    select t1.name,t1.alias,t2.id from t1,t2 where t2.note like '%'||t1.name||'%' or t2.note like '%'||t2.alias||'%'
      

  5.   

    outer join operator (+) not allowed in operand of OR or IN
      

  6.   

    create or replace view as
    select t1.a,t1.b,t2.a
    from t1,t2
    where (t2.b(+) like '%'||t1.a||'%')
       or (t2.b(+) like '%'||t1.b||'%')错误:outer join operator (+) not allowed in operand of OR or IN
    如何改正呢?
      

  7.   

    拜托,我已经测试过了,(+)就是用来干这个的。a表中有,但不满足连接条件的记录也会被显示出来,而相应select 出的b.*会为空。
      

  8.   

    拜托,我已经测试过了,(+)就是用来干这个的。a表中有,但不满足连接条件的记录也会被显示出来,而相应select 出的b.*会为空。
    还需要什么or啊?
      

  9.   

    抱歉,没看见你新发的帖子。
    无耻一点的方案:
    select t1.a n,t1.b m ,t2.a q
    from t1,t2
    where t2.b like '%'||t1.a||'%' and not t2.b like '%'||t1.b||'%'
    union
    select t1.a,t1.b,t2.a
    from t1,t2
    where t2.b like '%'||t1.b||'%'  and not t2.b like '%'||t1.a||'%';
      

  10.   

    chooser:
    谢谢你的帮助,还有没有更好的办法呢?
      

  11.   

    不好意思,刚才的错了,这个方案更无耻:
    select t1.a,t1.b,t2.a from t1,t2 where t2.b like '%'||t1.a||'%' or t2.b like '%'||t1.b||'%'
    union
    select t1.a,t1.b,'' from t1 where t1.a not in (select t1.a from t1,t2 where t2.b like '%'||t1.a||'%' or t2.b like '%'||t1.b||'%')
    体力活啊^_^
      

  12.   

    非常感谢 chooser
    改天请你喝酒!给分.