求SQL
两张表,如下:
Table1 Table2
XX123456 AA
XXX123456 AAA
XXXX123456 AAAA
……
Table1中的‘X’代表A-Z任意大写字母
Table1中的每条记录都是由N个大写字母开头
Table2中的记录是匹配条件
求SQL,得到如下结果:
AA123456
AAA123456
AAAA123456
------解决方案--------------------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;
------解决方案--------------------不大理解意思 是不是根据2个表中字段的英文字母长度 进行替换?
------解决方案--------------------Table2中的记录是匹配条件
举个实例,是什么内容
------解决方案--------------------select table1.col from table1,table2 where table1.col like '%'
------解决方案--------------------table2.col
------解决方案--------------------'%'
基本语法就是这样,但是效率很差。