日期:2014-05-17  浏览次数:20988 次

求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
------解决方案--------------------
'%'

基本语法就是这样,但是效率很差。