两张表,如下:
Table1 Table2
XX123456 AA
XXX123456 AAA
XXXX123456 AAAA
…… Table1中的‘X’代表A-Z任意大写字母
Table1中的每条记录都是由N个大写字母开头
Table2中的记录是匹配条件求SQL,得到如下结果:
AA123456
AAA123456
AAAA123456

解决方案 »

  1.   

    Table2中的记录是匹配条件 ? 怎么个匹配法?
    XX 和 AA 又是什么关系
      

  2.   

    drop table table1;
    drop table table2;
    create table table1(id int,name varchar(10));
    insert into table1 values(1,'xx123456');
    insert into table1 values(2,'xxx123456');
    create table table2(id int,name varchar(10));
    insert into table2 values(1,'aa');
    insert into table2 values(2,'aaa');
    select  a1.id,concat(substring(a2.name,1,a2.len),substring(a1.name,a2.len+1))
    from table1 as a1,(select id,name,length(name) as len from table2) as a2 where a1.id=a2.id;
      

  3.   

    还是没理解我的意思,Table1中的‘X’,代表的是任意一个A-Z大写字母!!!
    如果Table1插入
    insert into table1 values(1,'xx123456');
    insert into table1 values(2,'xxx123456');
    且Table2插入
    insert into table2 values(1,'aa');
    insert into table2 values(2,'aaa');
    结果应该是没有任何匹配,因为'aa'<>'xx'另外,表中没有ID字段不管怎样,还是谢谢你了。期待正解...
      

  4.   

    Table2中的记录是匹配条件举个实例,是什么内容
      

  5.   

    这样吧,如下:
    Table1                     Table2
    ABC123456                  DF
    ASDF123456                 ASDF
    DF123456
    R123456
    TSFAD123456
    PIPIDFF123456
    FDSAFSFAF123456
    ......需要根据Table2中的记录,找到Table1中的‘ASDF123456’和‘DF123456’这两条记录如果Table2增加一条记录‘PIPIDFF’,
    那么需要找到Table1中的三条记录‘ASDF123456’、‘DF123456’和‘PIPIDFF123456’谢谢
      

  6.   

    select table1.col from table1,table2 where table1.col like '%'||table2.col||'%'基本语法就是这样,但是效率很差。